Intellij 不断编译 TypeScript(非常慢) - 如何阻止这种行为?
Posted
技术标签:
【中文标题】Intellij 不断编译 TypeScript(非常慢) - 如何阻止这种行为?【英文标题】:Intellij constantly compiles TypeScript (very slow) - How to stop this behavior? 【发布时间】:2017-03-26 23:28:18 【问题描述】:我正在将 Angular 1.x 项目从 vanilla JS 迁移到 TypeScript。但是,我的 IDE 的响应时间非常慢。
如果我在“设置”>“语言和框架”>“TypeScript”中取消选中“跟踪更改”,则编译会停止——但此时我处于我的 TS 无法编译的位置!
当然,我可以配置一个 gulp 文件并设置一个观察程序,在更改时重新编译文件。但是,如果可能的话,我想避免为每个项目运行 gulp 的需要。此外,更重要的是,取消选中“跟踪更改”会删除 TS 特定的建议,并且似乎会破坏一些参考。
跟踪更改:选中 - 帮助 + 参考
跟踪更改:未选中 - 没有帮助 + 引用已损坏
问题 #1:
是否可以将 Intellij 配置为仅编译更改的文件?
问题 #2:
为什么 Intellij 编译这么多个文件? 这是我的 tsconfig.json 的副本:
"compilerOptions":
"module": "system",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outFile": "build/local/tsc.js",
"sourceMap": true,
"typeRoots": [
"./node_modules/@types",
"./typings"
],
"moduleResolution": "node"
,
"exclude": [
"client/src/node_modules",
"**/*.spec.ts",
"src/bower_components",
"client/src/bower_components",
"client/src/node_modules",
"build",
"Saved_html",
"site-ideas",
"node_modules",
"client/typings"
]
请注意,尽管将 node_modules 设置为被忽略的目录,编译器仍然可以到达那里。 .
【问题讨论】:
【参考方案1】:问题 1:
IntelliJ 非常频繁地保存文件。 Typescript 在保存文件时编译。因此,您应该disable or limit autosave。
问题 2:
我不知道为什么排除文件对你不起作用,但我建议宁愿包含 "rootDir": "./yourSourceDir"
而不是排除其他文件。
【讨论】:
以上是关于Intellij 不断编译 TypeScript(非常慢) - 如何阻止这种行为?的主要内容,如果未能解决你的问题,请参考以下文章
什么是“解析错误:已为 @typescript-eslint/parser 设置了“parserOptions.project”。 IntelliJ IDE 系列中的错误?
为啥 IntelliJ 不断从这个 JavaScript 模板字符串中删除反引号?