Typescript -w(手表)不工作在我的安装

Typescript -w(watch) is not working in my installation

本文关键字:工作 我的 安装 手表 Typescript      更新时间:2023-09-26

我已经安装了Typescript 2.0.6,我也有节点安装。如果我尝试用"-w"在监视模式下编译文件,则不工作。它抛出如下错误:

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

使用下面的命令编译我的typescript文件"index.ts"

tsc -w index.ts

如果有人知道,请帮助我如何在监视模式下编译代码。

2021年的最新答案

有一个内置的--watch/-w选项,参见TS编译器选项(在列表的最后)。

或者一旦你设置了tsconfig.jsonoutDirrootDir:

{
  "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. */
  }
}

那么你可以调用

tsc --watch

第二个选项不是我个人尝试过的,但它是文件监视的另一个选项,请参阅配置监视以了解更多细节,但这里是他们的示例tsconfig.json设置来自官方网站:

{   // 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"   
  } 
}

您不能通过使用tsc运行typescript代码来获得watch功能

像这样运行node tsc.js -w index.ts

来源:https://github.com/Microsoft/TypeScript/issues/2375

我遇到了这个问题,对我来说,这是一个向我的环境变量/PATH添加正确路由的问题。打开"开发者命令提示符",输入"where tsc"。你应该得到四条不同的路由:

1) C:'Program Files (x86)'Microsoft sdk 'TypeScript'3.0'tsc.exe

2) C:'Program Files (x86)'Microsoft sdk 'TypeScript'3.0'tsc.js

3) C: '用户* yourUserName * ' AppData '漫游' npm ' tsc

4) C: '用户* yourUserName * ' AppData '漫游' npm ' tsc.cmd

我最初的想法是将第一个添加到我的PATH中,但是为了使用"tsc -w"而需要的那个实际上是第三个。

所以把这个添加到你的PATH: C:'Users*yourUserName*'AppData'Roaming'npm'

如果这是你的问题,你应该都准备好了。

这是我的工作:

    通过运行npm -i typescript 在本地安装typescript
  • 将运行watch脚本的npm任务添加到tasks.json(见下文)
  • watch脚本添加到packages.json(见下文)

要添加到tasks.json的任务:

{ "type": "npm", "script": "watch" } 要添加到packages.json的脚本

"watch": "node ./node_modules/typescript/bin/tsc -w"