typescript是不是需要先编译成es6再编译成es5
Posted
技术标签:
【中文标题】typescript是不是需要先编译成es6再编译成es5【英文标题】:Does typescript need to be compiled to es6 and then to es5typescript是否需要先编译成es6再编译成es5 【发布时间】:2016-09-23 23:23:50 【问题描述】:为什么 typescript 需要编译成 ES6(或 ES2015)?据我所知,Typescript 包含 ES6 中存在的所有功能。所以与其将 typescript 代码编译为 ES6,然后使用 babel 将 ES6 代码编译为 ES5,不如直接将 typescript 代码编译为 ES5。据我所知,编译到 ES6 只是添加了一个不必要的编译步骤。 对此的任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:为什么不直接将 typescript 代码编译为 ES5。据我所知,编译到 ES6 只是添加了一个不必要的编译步骤。对此的任何帮助将不胜感激。
确实,仅使用打字稿就理想(这就是我所做的)。但是如果你想在原生不支持它们的浏览器(ES5 浏览器)中使用某些尖端的 ESNext 特性(例如 async/await 或生成器),因为 TypeScript 不支持将它们转换为 ES5(但很快)你可能需要使用 TypeScript + Babel。
【讨论】:
【参考方案2】:TypeScript 支持直接转换为 "ES3"
(默认)、"ES5"
、"ES6"
/"ES2015"
、"ES2016"
、"ES2017"
或 "ESNext"
。
您可以通过将 --target
标志指定为 compilation option 来直接转译为 ES5。
$ tsc --target ES5
【讨论】:
以上是关于typescript是不是需要先编译成es6再编译成es5的主要内容,如果未能解决你的问题,请参考以下文章