首页 > 解决方案 > 打字稿编译速度很慢

问题描述

到目前为止,Typescript 对我们来说是一个很棒的工具,但是我们有一个相当大的 index.d.ts(大约 4700 行),对文件的任何更改都需要大约 50-55 秒才能进行转换,这现在已经成为我们开发的瓶颈过程。

我想知道将 index.d.ts 文件拆分成更小的文件是否会有所帮助?如果有人可以为我提供一些关于我们如何加快速度的参考,那将非常有帮助。

我也遇到了这个问题,当我tsc --watch在命令行中运行时会抛出一些错误,但是当我在 vscode 中查看代码时没有错误(红色波浪下划线),不知道为什么会这样。我猜这与版本控制有关。

这是我正在使用的版本

"typescript": "^3.6.2"=> package.json*devDependency中的打字稿版本

version 3.6.2=> VsCode 右下角显示的版本

Version 3.9.2=> 当我在tsc --version全球范围内运行时

这是输出npx tsc --extendedDiagnostics

<-------------开始测试-------------->

文件:649

线路:173670

节点:642119

标识符:227674

符号:140703

类型:76

实例化:0

使用的内存:213504K

可分配性缓存大小:0

身份缓存大小:0

子类型缓存大小:0

严格的子类型缓存大小:0

I/O读取时间:0.05s

解析时间:1.01s

ResolveType参考时间:0.02s

解析模块时间:0.27s

程序时间:1.46s

绑定时间:0.80s

总时间:2.26s

<-------------测试结束-------------->

tsconfig.json文件_

 {
  "compilerOptions": {
    "target": "es2017",
    "module": "es2015",
    "moduleResolution": "node",
    "jsx": "react",
    "outDir": "artifacts",
    "rootDir": "src",
    "allowSyntheticDefaultImports": true,
    "noImplicitAny": true,
    "preserveConstEnums": true,
    "allowJs": false,
    "sourceMap": true,
    "noImplicitReturns": true,
    "noUnusedParameters": true,
    "noUnusedLocals": true,
    "skipLibCheck": true,
    "incremental": true,
    "isolatedModules": true
  },
  "filesGlob": [
    "src/index.d.ts",
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/assets/*"
  ],
  "types": [
    "react",
    "react-native",
    "jest"
  ],
  "exclude": [
    "node_modules",
    "android",
    "ios",
    "artifacts"
  ],
  "compileOnSave": false
}

任何有关相同的帮助将不胜感激。

感谢和问候。

标签: typescript

解决方案


您是否排除outDir了以下目录,或者您可能还有一些应该排除的其他目录?

更新

尝试更改filesGlobinclude

{
  "compilerOptions": {
    "outDir": "artifacts",
  },
  "include": [
    "src/index.d.ts",
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/assets/*"
  ],
  "exclude": ["node_modules", "artifacts", "coverage"]
}

推荐阅读