我正在使用Typescript和React编写的电子应用程序。我目前在构建过程中使用webpack和babel将Typescript代码打包并转换为es6(tsc loader),然后是es5(babel)。
由于V8几乎支持ES6的所有功能[1],是否真的还需要使用babel转换器来构建ES5?
快速测试表明,当从webpack加载器中删除babel时,我的代码工作正常(同时针对commonjs模块而不是ES6模块)。 我想要使用的一些ES6功能是:
[1]:ES6 Compatibility Table [2]:TypeScript 1.7 Release Notes
答案 0 :(得分:1)
如果你测试它并且它有效,那就好!
要记住的一点是,有时候(大多数情况下看非V8)这些功能可能会有错误以及需要注意版本历史。
我认为这里隐藏的刀片是迁移代码的潜力,因为它可能必须在某个时刻在ES5环境中工作,当你可能找到时(无论出于何种原因,这毕竟是JS / TS)重新启用转码会使您的代码/测试/工作流程失效。
从服务器端打字稿角度来看,我将ES6用于Node v6.6,因为如果我必须使用旧节点定位平台,我非常愿意冒险处理问题。
最后一点是,尽管TC39的ECMAScript2015 / ES6,Firefox和Chrome都反对隐式尾部调用,所以这有点像雷区。