编译目标设置为 'ES3' 或 'ES5' 的 TypeScript 内部
Compiling TypeScript with target set to 'ES3' or 'ES5' Internal
刚刚进入 typescript 世界,并尝试使用 webpack ts-loader 和 babel-loader 将 typescript 编译和转译为 ES5。
但是后来我看到tsc中有一个可以针对'ES5'的编译器选项,我觉得'what am I using babel-loader for then?'
所以我的问题是:
- 当 typescript 编译器以目标为目标时内部发生了什么
ES5?
- 我可以单独使用 ts-loader 和 tsconfig 目标选项来实现我的目标吗?
- 如果可以,哪种方式更好? (ts-loader 到 ES6,然后 babel-loader 到 ES5,或者目标选项设置为 ES5 的 ts-loader)
- 在这两种情况下,tree-shaking(webpack2 功能)会发生什么情况?
What is happening internally when the typescript compiler targets ES5?
带你 TS / ES 代码并将其转换为 ES5(就像 babel)。
Can I use ts-loader alone with tsconfig target option to achieve my goal?
是的。这就是我所做的。
If so, which way is better?
有偏见的意见:https://medium.com/@basarat/typescript-won-a4e0dfde4b08
What happens with tree-shaking(webpack2 feature) in both cases?
同样的事情。未使用的导出将被删除。
刚刚进入 typescript 世界,并尝试使用 webpack ts-loader 和 babel-loader 将 typescript 编译和转译为 ES5。 但是后来我看到tsc中有一个可以针对'ES5'的编译器选项,我觉得'what am I using babel-loader for then?'
所以我的问题是:
- 当 typescript 编译器以目标为目标时内部发生了什么 ES5?
- 我可以单独使用 ts-loader 和 tsconfig 目标选项来实现我的目标吗?
- 如果可以,哪种方式更好? (ts-loader 到 ES6,然后 babel-loader 到 ES5,或者目标选项设置为 ES5 的 ts-loader)
- 在这两种情况下,tree-shaking(webpack2 功能)会发生什么情况?
What is happening internally when the typescript compiler targets ES5?
带你 TS / ES 代码并将其转换为 ES5(就像 babel)。
Can I use ts-loader alone with tsconfig target option to achieve my goal?
是的。这就是我所做的。
If so, which way is better?
有偏见的意见:https://medium.com/@basarat/typescript-won-a4e0dfde4b08
What happens with tree-shaking(webpack2 feature) in both cases?
同样的事情。未使用的导出将被删除。