typescript - 编译 TypeScript,目标设置为 'ES3' 或 'ES5' 内部

标签 typescript webpack babeljs tsconfig ts-loader

刚刚进入 typescript 的世界,并尝试使用 webpack ts-loader 和 babel-loader 将 typescript 编译并转换为 ES5。 但后来我看到 tsc 中有一个可以针对“ES5”的编译器选项,我就想“那我用 babel-loader 来做什么?”

所以我的问题是:

  1. 当 typescript 编译器定位目标时,内部发生了什么 ES5?
  2. 我可以单独使用 ts-loader 和 tsconfig 目标选项来实现我的目标吗?
  3. 如果是这样,哪种方式更好? (ts-loader 到 ES6,然后 babel-loader 到 ES5,或者目标选项设置为 ES5 的 ts-loader)
  4. 在这两种情况下,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 - 编译 TypeScript,目标设置为 'ES3' 或 'ES5' 内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43842097/

相关文章:

typescript :将属性从一个对象映射到另一个对象

angularjs - 如何使 Typescript 与 SystemJS 和 Angular 一起使用成为可能?

javascript - 如何在javascript中更改另一个模块的变量值

node.js - 尝试构建应用程序时出现错误 : @babel/helper-plugin-utils/src/index. js : Unexpected token, 预期为 ","(93:5)

javascript - React 无需导入即可工作

javascript - 为什么我导入 React 时出错

TypeScript:使用 keyof 索引对象类型

typescript - 将 Typescript 接口(interface)中的所有属性设为可选

webpack - 如何使用 webpack 处理全局函数和全局变量

typescript - 带有 TypeScript + Angular 2 的 Protractor 配置错误