首页 文章

使用Typescript和Electron时,Babel仍然是必需的吗?

提问于
浏览
2

我正在研究用Typescript和React编写的电子应用程序 . 我目前正在构建过程中使用webpack和babel将Typescript代码打包并转换为es6(tsc loader),然后是es5(babel) .

Since V8 supports almost all features of ES6 already [1], is it really still necessary to use the babel transpiler to build ES5?

快速测试显示,当从webpack加载器中删除babel时,我的代码工作正常(同时针对commonjs模块而不是ES6模块) . 我想要使用的一些ES6功能是:

  • 承诺

  • async / await(ES7,但在转换为ES6 [2]时,在TypeScript> = 1.7中可用)

  • 解构/传播运营商

[1]:ES6 Compatibility Table [2]:TypeScript 1.7 Release Notes

1 回答

  • 1

    如果你测试它并且它有效,那就好!

    需要记住的是,有时候(大多数情况下看非V8)这些功能可能会有错误以及需要注意版本历史记录 .

    我认为这里隐藏的刀片有可能迁移代码,因为它可能必须在某个时刻在ES5环境中工作,当你可能发现(无论是什么样的原因,这毕竟是JS / TS)重新启用trans-piling会对您的代码/测试/工作流程进行制动 .

    从服务器端打字稿的角度来看,我将ES6用于Node v6.6,因为如果我必须使用较旧的节点来定位平台,我非常愿意冒险处理问题 .

    最后一点是,尽管TC39的ECMAScript2015 / ES6,Firefox和Chrome反对隐式尾部调用,所以这是一个雷区 .

相关问题