【问题标题】:Do I need babel-loader on top of tsloader to transpile typescript with webpack?我是否需要在 tsloader 之上使用 babel-loader 来使用 webpack 转换 typescript?
【发布时间】:2018-08-11 10:06:51
【问题描述】:

我正在编写 webpack.config.js 以使用 tsloaderbabel-loader 将 typescript(更准确地说是 tsx)转换为 ES5。 我有两个问题:

1) 即使tsloader 输出 ES5 文件,我们还需要 babel-loader 吗?
2)当目标是es5时,将tsconfig.json中的compilerOptions.module设置为es6有意义吗?

tsconfig.json如下:

{
  "compilerOptions": {
    "module": "es6",
    "target": "es5",
    "jsx": "react"
  }
}

提前致谢。

【问题讨论】:

    标签: typescript webpack babel-loader ts-loader


    【解决方案1】:

    1) 即使 tsloader 输出 ES5 文件,我们还需要 babel-loader 吗?

    不,我们不这样做,除非需要使用 TypeScript 不支持的不兼容功能(通常不支持)。

    2) 当target为es5时,将tsconfig.json中的compilerOptions.module设置为es6有意义吗?

    是的。它输出带有 ES 模块的 ES5 代码,可以由捆绑系统(Webpack 或 Rollup)处理。

    【讨论】:

    • 谢谢! compilerOptions.module 是 commonjs 对 webpack 有影响吗?
    • 当然。最重要的区别是 ES 模块支持 tree-shaking。您只导入您使用的内容(这可能因第三方软件包而异)。
    猜你喜欢
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 2017-02-22
    • 2020-02-03
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多