【发布时间】:2017-02-02 05:14:13
【问题描述】:
英语不是我的母语,请原谅输入错误。
NodeJS LTS 现在 4.x 和 6.x,这是 ES6 语法的一部分,仅在 6.x 中受支持,node.green。
我有一个后端 Node 项目现在需要支持 Node 4.x 版本,但我必须使用一些仅适用于 6.x 版本的语法。所以我用preset-es2015 介绍了 Babel。但是有了这个预设,Babel 就从 ES6 转换成了 ES5。
ES6的部分语法,如const、let的性能要高于var(这是个假设,实际情况肯定没那么简单)。
我的代码在 99% 的 Node 6.x 或 57% 的 Node 4.x 上运行在 ES6 支持上,确实不需要将所有代码降级到 ES5。
所以我想知道如果支持 NodeJS,如何让 Babel 不将 ES6 语法转换为 ES5。
另外,Babel 是否支持检测当前运行环境的代码支持并智能转换?
谢谢。
更新:babel-preset-env 是我想要的。
【问题讨论】: