Advertencia de decoradores experimentales en compilación de TypeScript
Tengo
El soporte experimental para decoradores es una característica que está sujeta a cambios en una versión futura. Establezca la opción' experimentalDecorators ' para eliminar esta advertencia.
Incluso mis compilerOptions en tsconfig.json tiene configuraciones:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
Lo que es extraño es que algunas clases aleatorias que usan decoradores no muestren esa advertencia, pero el resto en el mismo proyecto sí.
¿Qué podría causar tal comportamiento del compilador de TypeScript?
21 answers
Aunque VS Code es un gran editor para proyectos de TypeScript, necesita una patada de vez en cuando. A menudo, sin previo aviso, ciertos archivos hacen que se asuste y se queje. En su mayoría, la solución parece ser guardar y cerrar todos los archivos abiertos, luego abrir tsconfig.json
. Después de eso, debería poder volver a abrir el archivo infractor sin error. Si no funciona, haga espuma, enjuague y repita.
Si su tsconfig.json
especifica sus archivos fuente usando la matriz files
, IntelliSense solo funcionará correctamente si el archivo en cuestión se hace referencia de tal manera que VS Code puede encontrarlo atravesando el árbol de archivos de entrada.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-10 21:39:46
Tengo que agregar lo siguiente en la configuración.archivo json de vscode para eliminar la advertencia.
"javascript.implicitProjectConfig.experimentalDecorators": true
VSCode -> Preferencias - > Configuración
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-10 10:50:15
Este error también ocurre cuando elige la carpeta "src" para la carpeta del espacio de trabajo.
Cuando se elige la carpeta raíz, la carpeta donde se encuentran "src", "node_modules", el error desaparece
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-05 00:08:42
Tengo que añadir typescript.tsdk
a mi .vscode/settings.json
:
"typescript.tsdk": "node_modules/typescript/lib"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-22 21:24:47
Dentro de tu proyecto crea el archivo tsconfig.json, luego agregue estas líneas
{
"compilerOptions": {
"experimentalDecorators": true,
"allowJs": true
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-10 12:01:00
Abra el archivo settings.json
en la siguiente ubicación <project_folder>/.vscode/settings.json
O puede abrir el archivo desde el menú como se menciona a continuación
VSCode -> File -> Preferences -> Workspace Settings
Luego agregue las siguientes líneas en el archivo settings.json
{
"typescript.tsdk": "node_modules/typescript/lib",
"enable_typescript_language_service": false
}
Eso es todo. No verá ninguna advertencia / error con respecto a 'experimentalDecorators '
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-27 12:41:59
Esta respuesta está destinada a personas que están usando un proyecto Javascript y no un proyecto Typescript. En lugar de un tsconfig.archivo json puede usar un jsconfig.archivo json.
En el caso particular de tener los decoradores advirtiendo que wan escribir dentro del archivo:
{
"compilerOptions": {
"experimentalDecorators": true
}
}
Para los comportamientos defectuosos solicitados, siempre es mejor especificar el "include" en el archivo de configuración, y reiniciar el editor. Por ejemplo,
{
"compilerOptions": {
"target": "ES6",
"experimentalDecorators": true
},
"include": [
"app/**/*"
],
"exclude": [
"node_modules"
]
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-15 15:50:45
"javascript.implicitProjectConfig.experimentalDecorators": true
Resolverá este problema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-06 13:24:54
No para explicar el punto, pero asegúrese de agregar lo siguiente a
- Configuración del espacio de trabajo no Configuración del usuario
En Archivo > > Preferencias > > Configuración
"javascript.implicitProjectConfig.Experimentaldecoradores": verdadero
Esto solucionó el problema para mí, y probé bastantes sugerencias que encontré aquí y en otros lugares.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-06 12:52:22
Por el bien de la claridad y la estupidez.
1) Abierto .vscode/configuración.json.
2) Añadir "typescript.tsdk":" node_modules/typescript/lib " en él.
3) Guárdelo.
4) Reinicie el Código de Visual Studio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-09 12:19:45
Agregue las siguientes líneas en tsconfig.json y reiniciar VS Código.
{
"compilerOptions": {
"experimentalDecorators": true,
"target": "es5",
"allowJs": true
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-24 08:29:11
Corregí la advertencia eliminando "baseUrl": "", del tsconfig.json file
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-24 00:08:32
Abra toda la carpeta del proyecto en lugar de project-name/src
Tsconfig.json está fuera de la carpeta src
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-18 20:02:10
Si está trabajando en Visual studio. Puede probar esta solución
- Descarga tu proyecto desde visual studio
- Vaya al directorio principal de su proyecto y Abra el archivo "csproj".
-
Agregue TypeScriptExperimentalDecorators a esta sección como se muestra en la imagen
- Vuelva a cargar el proyecto en Visual studio.
Ver más detalles en esta ubicación.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-02 14:42:36
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-09 13:00:19
Podría tener este problema si abre un archivo TS que existe fuera del proyecto. Por ejemplo, estoy usando lerna y tenía un archivo abierto desde otro paquete. Aunque ese otro paquete tenía su propio tsconfig con decoradores experimentales, VSCode no lo honra.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-07 20:18:30
Me enfrenté al mismo problema al crear un Servicios inyectables en Angular 2. Tengo todas las cosas en el lugar en tsconfig.json .Todavía estaba recibiendo este error en la línea ColorsImmutable.
@Injectable()
export class ColorsImmutable {
Y fix era registrar el Servicio a Nivel de módulo o Componente usando la matriz de proveedores.
providers:[ColorsImmutable ],
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-09 10:27:30
He añadido esta opción a tsconfig.json, "baseUrl": "front-end"
Reemplace el front-end con el nombre de su proyecto angular-cli.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-14 20:46:24
Si está usando cli para compilar *.archivos ts, puede configurar experimentalDecorators usando el siguiente comando:
tsc filename.ts --experimentalDecorators "true"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-06 21:16:11
Compruebe que ha abierto en su Código VS la carpeta de todo el proyecto y no solo la carpeta src, porque si abre solo el src, entonces ts.config.el archivo json (ubicado en la carpeta del proyecto) no estará en el ámbito, y VS no reconocerá los parámetros de los decoradores experimentales.
En mi caso esto solucionó todos los problemas relacionados con este problema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-17 02:16:47
Tuve este problema recientemente en Visual Studio 2017 - resultó que fue causado por una "característica" de VS - ignorando tsconfig.json cuando la acción de compilación no está establecida en Content .
Así que cambiar la acción de compilación a Contenido y recargar la solución resolvió el problema.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-17 11:40:12