2016-09-14 65 views
6

嘗試對模塊和目標有一些基本的瞭解。TypeScript編譯選項:module vs target

我想知道模塊之間的差異和目標編譯典型tsconfig.json

 
{ 
    "compilerOptions": { 
     "module": "es6", 
     "sourceMap": true, 
     "target": "es6" 
    } 
} 

,如果我提供了以下選項,會發生什麼選項:

模塊:CommonJS的,目標:ES6

模塊:ES6,目標:CommonJS的

模塊:CommonJS的,目標:CommonJS的

+1

目標不能是commonjs。它只能是:'es3'(默認),'es5'或'es6'。你有沒有讀過[Compiler Options doc](https://www.typescriptlang.org/docs/handbook/compiler-options.html)? –

+0

Paleo的答案是一個重要的修正:[Documentation](https://www.typescriptlang.org/docs/handbook/compiler-options.html)實際上表示可以使用>>「ES6」和「ES2015」值** **定位時**「ES5」或更低**。<< – Peti29

回答

1

the documentation on the compiler options

--target

指定的ECMAScript目標版本: 'ES3'(默認值), 'ES5' 或 'ES6'。

--module

指定模塊代碼生成: '無', 'CommonJS的', 'AMD', '系統', 'UMD', 'ES6' 或 'ES2015'。

  • 只有'amd'和'system'可以和--outFile結合使用。
  • 當定位ES5或更低時,可能不會使用'es6'和'es2015'值。

參見:ES6 in depth: Modules

+3

下面是這個模塊與目標混淆的更好的解釋:https://stackoverflow.com/questions/41993811/understanding-target-and-module-in -tsconfig – Raghu