Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript tsc—当outDir出现在tsconfig.json中时,监视不更新文件_Typescript_Tsc_Tsconfig - Fatal编程技术网

Typescript tsc—当outDir出现在tsconfig.json中时,监视不更新文件

Typescript tsc—当outDir出现在tsconfig.json中时,监视不更新文件,typescript,tsc,tsconfig,Typescript,Tsc,Tsconfig,我正在尝试用Typescript编写nodejs命令行应用程序,我有以下tsconfig文件: { "compilerOptions": { "module": "commonjs", "outDir": "dist" }, "include": ["src/*.ts"] } 当我使用tsc时,一切正常(*.js文件显示在dist文件夹中) 但是,当我运行tsc-w时,js文件首先在dist文件夹中创建,但在更改任何ts文件时不会更新。Tsc似乎可以很好地看到和编译更改,但无法

我正在尝试用Typescript编写nodejs命令行应用程序,我有以下tsconfig文件:

{
"compilerOptions": {
    "module": "commonjs",
    "outDir": "dist"
},
"include": ["src/*.ts"]
}
当我使用
tsc
时,一切正常(*.js文件显示在dist文件夹中)

但是,当我运行
tsc-w
时,js文件首先在dist文件夹中创建,但在更改任何ts文件时不会更新。Tsc似乎可以很好地看到和编译更改,但无法编写实际的js文件

4:23:04 PM - File change detected. Starting incremental compilation...
4:23:04 PM - Compilation complete. Watching for file changes.
当我从tsconfig中省略outDir参数时,一切正常(更改ts文件时,js文件正在更新)。这不是理想的解决方案,因为我希望js输出位于dist文件夹而不是src中

当我跳过使用tsconfig.json文件并直接运行它时,它也可以正常工作:

tsc -w --outDir dist src/app.ts
我做错什么了吗


在win10、TSC2.6.2、Node7.9.0上运行,我想我已经解决了这个问题

TypeScript2.6附带了新的——watch实现。当降级到2.5.3时,一切正常

因此,这似乎是在特定条件下(win10,在tsconfig中使用outDir)显示的新的——watch东西的一个问题


在Typescript问题跟踪器中将其报告为一个bug-

对我来说,这是通过禁用WebStorm中的“使用“安全写入”(先将更改保存到临时文件)选项修复的:

启用时,IDE会删除和重命名文件,这似乎会混淆
tsc--watch


(要查看它在做什么,请使用
tsc--extendedDiagnostics--listedFiles
.extendedLogs。)

获取最新的夜间版本:

npm install -g typescript@next

在macOS High Sierra中,这些特定版本的
tsc
和node似乎可以正常工作。谢谢。我也在Mac下测试了它,它确实有效。因此,这是一个windows问题。