2016-02-15 141 views
1

的Node.js如果我編譯編譯打字稿與所有功能

tsc --module commonjs --target ES5 

打字稿對Node.js的,我不能用async/await或發電機,因爲tsc不知道如何把它編譯成ES5 。

如果我編譯打字稿於Node.js與

tsc --module commonjs --target ES6 

但我不能使用默認參數或解構賦值,因爲Node.js的不支持他們,可以是固定的。 tsc知道如何將它們編譯爲ES5,但只有在實際上以ES5爲目標時纔會這樣做。

如何將Node.js作爲支持所有TypeScript特性的目標?

+1

您可以定位ES6,然後使用babeljs編譯ES5。 – jfriend00

+0

是的,這會起作用,但它使事情變得複雜。我希望'tsc'是我需要的唯一構建工具。我的意思是,它在內部完成了Node.js的所有功能組合,但似乎沒有其他選擇。 ( – Jesse

+0

)不是一個答案,但我也鼓勵尋找充實你的管道。建立一個gulpfile花費了我所有的20分鐘,並做我需要的(tsc-> browserify - >標題)。我認爲這將是討厭的,結果很好。 – Paarth

回答

0

在最新的node.js(v5.x)中運行ES6編譯代碼應該沒問題。要啓用默認未啓用的特定ES6功能,您應該使用--harmony標誌。像這樣的例子:

節點--harmony,解構

對於可能和諧的完整列表功能一起玩 - 運行:

節點--v8選項| grep和諧