我正在从事微服务集成项目。我同时使用运行8个打字稿服务
tsc-watch --preserveWatchOutput --onSuccess 'node build/index.js'
。
即使我根本不编写源代码,这些进程也会消耗70%的CPU。我发现正在进行一些更改轮询,并用谷歌搜索将环境变量TSC_NONPOLLING_WATCHER设置为“ 1”将停止轮询。
但是,它似乎根本没有任何作用。另外,作者提到的是“ tsc -w”而不是tsc-watch。我不太了解tsc -w和tsc-watch之间的区别。
感谢您的帮助。
答案 0 :(得分:0)
更新1 无需更改tsconfig.json
我遇到了类似的problem,并将通过正确设置环境变量TSC_NONPOLLING_WATCHER="1"
来解决它。
就我而言,我必须通过{p>
.zprofile
您可以通过export TSC_NONPOLLING_WATCHER="1"
在命令外壳中对其进行测试。
替代
如果这样做没有帮助,请尝试将echo $TSC_NONPOLLING_WATCHER
文件设置为以下内容:
tsconfig.json
这些选项来自:https://www.typescriptlang.org/docs/handbook/configuring-watch.html,我强烈建议您在进行任何更改之前通读它。
tsc vs tsc-watch
关于"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 -w
之间在github上的项目的区别,我引用:
- tsc-watch正在使用当前安装的TypeScript编译器。
- tsc-watch并没有更改编译器,只是添加了新参数,编译是相同的,其他所有参数都是相同的。
因此,与您的情况一样,tsc的所有tsc设置都应该可以正常工作。