现在 NodeJS 的 LTS 有 4.x 和 6.x,其中有一部分 ES6 的语法只在 6.x 中得到了支持, node.green。
如果我现在的一个后端 Node 的项目需要支持 4.x 的版本,但是用到了部分只在 6.x 中才能用到的语法,这时候引入了 Babel,但是我现在的做法是使用 preset-es2015
,但是用了这个 preset,他就把代码完全转换成 ES5 的版本了。
其中 ES6 的部分语法,比如 const
,let
的性能会比 var
高(这是一个假设,实际情况肯定没这么简单),构造器的语法转为 ES5 也不完美,但我确实是运行在对 ES6 支持度在 99% 的 6.x 或者 57% 的 4.x 上,实在没有必要把所有代码都降级到 ES5。
所以想知道有什么其他的方法可以使 Babel 可以最小限度地转换 ES6 的代码,使运行的性能更高。
进一步说 Babel 是否支持检测当前运行环境对代码语法的支持程度,并智能地转换?
谢谢