TypeScript 2.1 async/await ES5 __awaiter 和 __generator 为每个 ts 文件生成
Posted
技术标签:
【中文标题】TypeScript 2.1 async/await ES5 __awaiter 和 __generator 为每个 ts 文件生成【英文标题】:TypeScript 2.1 async/await ES5 __awaiter and __generator is generated for every ts file 【发布时间】:2017-03-22 17:46:19 【问题描述】:我正在试验新的 TypeScript rc-release 以获得对 ES5 的 asnc/await 支持。
但是我在生成的 __awaiter 和 __generator 方法中遇到了一个奇怪的行为,如果不使用 outFile 编译器选项,它们似乎是为每个单独的 ts 文件生成的。
有没有办法只生成 __awaiter 和 __generator 方法的单个实例,同时仍然不使用 outFile? 我不想使用 outFile 标志的原因是我目前使用 webpack 进行捆绑,因为我需要支持 html 模板文件的导入。
【问题讨论】:
可以使用common chunks plugin + deddupe plugin,这样可以减少这种重复 【参考方案1】:使用新的--importHelpers
编译标志。
Docs
【讨论】:
【参考方案2】:在tsconfig.json中,"compilerOptions"
下添加:
`"importHelpers": true`
将 typescript helper 库安装为依赖项:
npm install tslib --save
Typescript 将在需要时尝试导入帮助程序,Webpack 将自动捆绑 tslib 一次。如果你要发布一个库,你可以告诉 webpack 考虑 tslib
一个外部的 the externals
option。
【讨论】:
以上是关于TypeScript 2.1 async/await ES5 __awaiter 和 __generator 为每个 ts 文件生成的主要内容,如果未能解决你的问题,请参考以下文章
在 CRA 2.1 Typescript 中导入时 ESLint 需要“.ts”
白鹭直播间:聊聊Egret引擎4.0 与 TypeScript 2.1~
ThinkJS 2.1:支持 TypeScript,性能提升 90%
TypeScript 2.1 async/await ES5 __awaiter 和 __generator 为每个 ts 文件生成