Búsqueda de sitios web

javascript - Typescript -w (watch) no funciona en mi instalación


He instalado Typescript 2.0.6, también tengo la instalación de Node. Si intento compilar un archivo en modo de observación con "-w", no funciona. Lanza el siguiente error.

ts5001: the current host does not support the '--watch' option

Usé el siguiente comando para compilar mi archivo de TypeScript "index.ts"

tsc -w index.ts

Si alguien sabe, por favor ayúdeme a cómo compilar el código en modo de vigilancia.

Respuesta #1

Respuesta actualizada para 2021

Hay una opción incorporada --watch/-w, consulta las opciones del compilador de TS (al final de la lista).

O una vez que tengas tsconfig.json configurado con outDir y rootDir:

{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig.json to read more about this file */

    /* Basic Options */
    // "incremental": true,  /* Enable incremental compilation */
    "target": "ES2020",     /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
    "module": "ES2020",   /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
    "outDir": "src/main/resources/static/js",  /* Redirect output structure to the directory. */
    "rootDir": "src/main/resources/static/ts" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
  }
}

Entonces solo puedes llamar

tsc --watch

Esta segunda opción no es algo que haya probado personalmente todavía, pero es otra opción para la vigilancia de archivos; consulte Configuring Watch para más detalles, pero aquí está su ejemplo de configuración tsconfig.json proporcionado por el sitio oficial:

{   // Some typical compiler options   
  "compilerOptions": {
    "target": "es2020",
    "moduleResolution": "node"
    // ...   },

  // NEW: Options for file/directory watching   "watchOptions": {
    // Use native file system events for files and directories
    "watchFile": "useFsEvents",
    "watchDirectory": "useFsEvents",

    // Poll files for updates more frequently
    // when they're updated a lot.
    "fallbackPolling": "dynamicPriority"   
  } 
}

Respuesta #2

No puedes obtener la funcionalidad de watch ejecutando código TypeScript usando tsc

Ejecuta esto como node tsc.js -w index.ts

Fuente: https://github.com/Microsoft/TypeScript/issues/2375