打字稿类型检查结果耗时过长

时间:2019-04-11 04:37:15

标签: reactjs typescript

我正在将一个相对较新的CRA应用程序转换为Typescript。该应用程序相对较新,尽管它设置为非常复杂的应用程序,所以它具有从react-router,react-redux到i18n库等各种内容的所有内容。

每次我运行'npm run start'时,即使没有任何实际更改,打字稿也可能需要20到几分钟的时间来检查每个更改。

当我运行'tsc --diagnostics'时,我得到以下信息:

highest value

我想知道为什么节点和标识符显示为var result = getValue(obj); getValue(obj){ var cheapest= Math.min.apply(Math, obj.map(function (el) { return el.netfee; })); var best= Math.max.apply(Math, obj.map(function (el) { return el.amount; })); var res= Object.assign({}, cheapest, best); return res; } 。我找不到其他人在运行var obj=[ { id: "sample1", netfee: 10, speed: "1days", amount: "100" }, { id: "sample2", netfee: 6, speed: "2days", amount: "200" }, { id: "sample3", netfee: 4, speed: "3days", amount: "50" } ] Expected Output: Cheapest : Sample 3 Fastest: Sample 1 Best: Sample 2 时遇到此问题。

有人可以对此提供任何见解吗?我想知道Typescript是否遇到一些编译障碍,从而导致缓慢的类型检查。

我在MacOS High Sierra上使用Typescript v3.4.1和VS Code v1.3.3。我尝试删除/安装我的node_modules文件夹无济于事,并尝试添加Files: 5677 Lines: 118431 Nodes: NaN Identifiers: NaN Symbols: 192584 Types: 26014 Memory used: 242096K I/O read: 8.44s I/O write: 0.00s Parse time: 14.28s Bind time: 0.92s Check time: 4.63s Emit time: 0.00s Total time: 19.84s 标志,该标志应该使Typescript缓存buildinfo可以使以后的编译更快,但是也没有做任何事情。

我的package.json依赖关系和devDependencies

依赖性:

NaN

devDependencies

-diagnostics

1 个答案:

答案 0 :(得分:1)

使用typescript > 3.3.4000styled-components似乎存在性能问题。

如果您阅读此issue thread,初步的解决方案似乎是将typescript降级为3.3.4000。它对我有用,因为在编辑时检查类型时,它再次使VS Code更快。

在不久的将来,有望在styled-componentstypescript上对此进行修复。