【问题标题】:TypeScript Compile Options: module vs targetTypeScript 编译选项:模块与目标
【发布时间】:2017-01-22 09:52:03
【问题描述】:

尝试对模块和目标有一些基本的了解。

我想知道典型 tsconfig.json 中模块和目标编译选项的区别

{ “编译器选项”:{ “模块”:“es6”, “源地图”:是的, “目标”:“es6” } }

如果我提供以下选项会发生什么:

模块:commonjs,目标:es6

模块:es6,目标:commonjs

模块:commonjs,目标:commonjs

【问题讨论】:

标签: typescript typescript1.8


【解决方案1】:

有两种不同的东西。 --target 仅表示您正在使用哪个版本的 ECMAScript 进行编码。 --module 仅表示您正在使用哪个模块系统,例如 commonjs 用于 Node 或 ES 模块用于所有支持它的模块,以及不支持的模块系统。

【讨论】:

    【解决方案2】:

    更详细的解释在这里:Understanding "target" and "module" in tsconfig


    另请参阅:Understanding "target" and "module" in tsconfig

    这是来自文档on compiler options的引用:

    --目标

    指定 ECMAScript 目标版本:“es3”(默认)、“es5”或“es6”。

    --模块

    指定模块代码生成:“none”、“commonjs”、“amd”、“system”、“umd”、“es6”或“es2015”。

    • 只有 'amd' 和 'system' 可以与 --outFile 结合使用。
    • 当面向 ES5 或更低版本时,可以使用“es6”和“es2015”值。

    【讨论】:

    【解决方案3】:

    “target”属性用于指定您的 TypeScript 代码最终将编译成的 JavaScript 版本。 “module”属性指定您编译的(TS-->JS)代码将使用的模块语法类型。例如,如果您将模块属性设置为“commonJS”,您编译的代码将使用“require/module.exports”来导入/导出。然而,模块属性不会影响编译代码的其余部分。为了清楚起见,请参考这个答案:https://stackoverflow.com/a/61215252/8659116

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 2016-06-17
      • 2012-09-29
      • 2012-07-05
      • 2016-03-21
      • 2018-03-12
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多