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?

Author: peterh, 2016-07-08

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.

 75
Author: linguamachina,
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

introduzca la descripción de la imagen aquí

 79
Author: Manoj Paul,
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

 63
Author: Semir Deljić,
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"
 22
Author: beewest,
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
    }
}
 14
Author: Muhammed Moussa,
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

Ajustes de Experimentaldecoradores

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 '

 9
Author: Vinothkumar Arputharaj,
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"
    ]
}
 7
Author: Pere Pages,
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.

 6
Author: Rajesh Pal,
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.

 5
Author: petey m,
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.

 3
Author: LEM Adane,
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
    }
}
 3
Author: Geetesh,
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

 1
Author: D. Greene,
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

 1
Author: Andrew Yavorsky,
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

  1. Descarga tu proyecto desde visual studio
  2. Vaya al directorio principal de su proyecto y Abra el archivo "csproj".
  3. Agregue TypeScriptExperimentalDecorators a esta sección como se muestra en la imagen

    introduzca la descripción de la imagen aquí

    1. Vuelva a cargar el proyecto en Visual studio.

Ver más detalles en esta ubicación.

 1
Author: kumar chandraketu,
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
  1. Abra VSCode.
  2. Presione ctrl + coma
  3. Siga las instrucciones en la captura de pantalla
    1. Buscar acerca de Experimentaldecoradores
    2. Edítalo
 1
Author: Mostafa,
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.

 0
Author: sparebytes,
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 ],
 0
Author: Mohammad Javed,
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.

 0
Author: Sean Maxwell,
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"
 0
Author: Ezekiel Inalegwu Akoji,
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.

 0
Author: dayanrr91,
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.

 0
Author: Paweł G.,
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