打字稿是否需要编译为es6,然后编译为es5

时间:2016-05-26 05:56:59

标签: typescript webpack ecmascript-6 babeljs ecmascript-5

为什么需要将打字稿编译成ES6(或ES2015)?据我所知,Typescript包含ES6中的所有功能。因此,不是将脚本代码编译到ES6,然后使用babel将ES6代码编译为ES5,为什么不直接将脚本代码编译到ES5。据我所知,编译ES6只需添加一个不必要的编译步骤。 任何有关这方面的帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

  

为什么不直接将脚本代码编译到ES5。据我所知,编译ES6只需添加一个不必要的编译步骤。任何有关这方面的帮助将不胜感激。

事实上,单独使用打字稿就是理想(这就是我所做的)。但是如果你想在浏览器中使用某些尖端的ESNext功能(例如异步/等待或生成器)本身不支持它们(ES5浏览器),因为TypeScript不支持将它们转换为ES5(但很快就会发布) )您可能需要使用TypeScript + Babel。

答案 1 :(得分:0)

TypeScript支持直接转换为"ES3"(默认),"ES5""ES6" / "ES2015""ES2016""ES2017"或{{ 1}}。

您可以将"ESNext"标记指定为compilation option,直接转换为ES5。

--target