typescript - 打字稿编译速度很慢
问题描述
到目前为止,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
}
任何有关相同的帮助将不胜感激。
感谢和问候。
解决方案
您是否排除outDir
了以下目录,或者您可能还有一些应该排除的其他目录?
更新
尝试更改filesGlob
为include
{
"compilerOptions": {
"outDir": "artifacts",
},
"include": [
"src/index.d.ts",
"src/**/*.ts",
"src/**/*.tsx",
"src/assets/*"
],
"exclude": ["node_modules", "artifacts", "coverage"]
}
推荐阅读
- bash - 为什么在执行 git pull 后需要修补(或应用)差异
- reporting-services - SSRS:使用 Go to URL 打开正文中嵌入报告的电子邮件
- sql - Google BigQuery 的限制?
- ios - 故事板 UICollectionViewCell 出现,然后变为空白
- angular - 将 Angular 5 更新为 Angular 6 错误
- random - 从 Minizinc 中的加权约束求解中采样?
- r - 如何从概念上思考标记化词和词嵌入之间的关系?
- facebook - Facebook Graph API v3.0 groups_access_member_info 权限有什么作用?
- php - 在 DOMNodeList 对象中显示空元素
- regex - 正则表达式来测试一个字符串是否包含一个短语,两边都没有额外的字母数字字符?