我正在从事微服务集成项目。我使用tsc-watch --preserveWatchOutput --onSuccess 'node build/index.js'同时运行8个typescript服务。
这些进程消耗了我70%的CPU,即使我根本没有编写源代码。我发现有一些轮询正在进行,并在googled上搜索了将环境变量TSC_NONPOLLING_WATCHER设置为"1“将停止轮询。
然而,它似乎一点效果都没有。另外,作者提到的是"tsc -w“,而不是tsc-watch。我不太明白tsc -w和tsc-watch有什么不同。
如果有任何帮助,我将不胜感激。
发布于 2020-08-25 22:58:49
更新1不需要在tsconfig.json中更改
我遇到了一个类似的problem,并打算通过正确设置环境变量TSC_NONPOLLING_WATCHER="1"来解决它。
在我的例子中,我必须通过以下方式调整.zprofile
export TSC_NONPOLLING_WATCHER="1"您可以通过echo $TSC_NONPOLLING_WATCHER在命令外壳中对其进行测试。
替代
如果这无济于事,请尝试将tsconfig.json文件设置为以下内容:
"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"
}这些选项来自:https://www.typescriptlang.org/docs/handbook/configuring-watch.html和我强烈建议在做任何更改之前先通读一遍。
tsc vs tsc-watch
关于tsc -w和tsc-watch之间的区别,github上的项目声明和引用:
不改变编译器,只是添加新参数,编译是相同的,所有其他参数也是相同的。
因此,tsc的所有设置都应该在tsc中工作得很好,就像你的例子一样。
https://stackoverflow.com/questions/51349010
复制相似问题