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 系列中的错误?

TypeScript中文手册

为啥 IntelliJ 不断从这个 JavaScript 模板字符串中删除反引号?

IntelliJ 不断索引,当 src 文件处于焦点时

我究竟做错了啥?我正在尝试将 selenium 依赖项添加到 Intellij,但我不断收到错误

与 Typescript 反应 - 类型 缺少类型中的以下属性