TypeScript编译选项:模块vs目标



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

我想知道模块和目标编译选项之间的差异在一个典型的tsconfig.json

<>之前{" compilerOptions ": {"模块":"es6","sourceMap":没错,"目标":"es6"}}之前

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

module: commonjs, target: es6

module: es6, target: commonjs

module: commonjs, target: commonjs

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

更详细的解释在这里:和";module"


参见:理解"目标"one_answers";module"在tsconfig。

下面是编译器选项文档中的一段话:

,

指定ECMAScript目标版本:'es3'(默认),'es5'或'es6'。

<<p> ——模块/strong>

指定模块代码生成:'none', 'commonjs', 'amd', 'system', 'umd', 'es6',或'es2015'。

  • 只有'amd'和'system'可以和——outFile一起使用。
  • 'es6'和'es2015'值可以在目标为ES5或更低时使用。

<target"属性用来指定TypeScript代码最终编译成的JavaScript版本。"module&quot;属性指定编译后的(TS—>JS)代码将使用的模块语法类型。例如,如果你将模块属性设置为"commonJS",编译后的代码将使用"require/module.exports"导入/导出。但是,模块属性不会影响编译后的其余代码。为清楚起见,请参考以下答案:https://stackoverflow.com/a/61215252/8659116

相关内容

最新更新