哪个Babel变形金刚应该为Chrome应用程序列入黑名单?

cal*_*lum 5 javascript google-chrome ecmascript-6 babeljs

我正在编写ES6 +代码并用Babel编译它(目前{stage: 0}用作我的.babelrc配置).

所以我正在编译所有内容直到ES5.但是我擅长瞄准Chrome v47 +,它本身支持一些ES6 +功能.

我可以将哪些默认的Babel变换器列入黑名单(禁用)并且仍然可以在Chrome 47+中运行我的代码?

sdg*_*uck 3

可用的 ES6+ 功能

\n\n

查看此页面,了解 Chrome 中默认完全实现和启用的功能以及它们对应的 Babel 转换器的此页面。

\n\n
ES6 Feature             Release   Babel Transformer                   Spec. Compliant*\n--------------------------------------------------------------------------------------\nRest Parameters        | 47      | es6.parameters                    | \xe2\x9c\x94\nSpread                 | 46      | es6.spread                        | \xe2\x9c\x94\nArrow Functions        | 45      | es6.arrowFunctions                | \xe2\x9c\x94\nExtended Obj. Literals | 45      | es6.properties.shorthand/computed | \xe2\x9c\x98\nComputed Prop. Names   | 44      | es6.properties.shorthand/computed | \xe2\x9c\x98\nClasses                | 42      | es6.classes                       | \xe2\x9c\x98\nTemplate Strings       | 41      | es6.templateLiterals              | \xe2\x9c\x98\nGenerators             | 39      | regenerator                       | \xe2\x9c\x98\nJS iterators           | 38      | es6.forOf                         | \xe2\x9c\x98\nBlock bindings         | 18      | es6.blockScoping/constants        | \xe2\x9c\x98\n
Run Code Online (Sandbox Code Playgroud)\n\n

*我已经导出了规格列。通过查看当前实现所基于的规范草案来实现合规性(回复:Chrome 而非 Babel)。例如“编辑草稿”——我认为这意味着可能不完整或不正确的实现。

\n\n

______

\n\n

Babel 变压器依赖项

\n\n

这些是我从 Babel 源代码中识别出的 Transformer 之间的依赖关系:

\n\n
Transformer               Dependencies\n--------------------------------------------\nes7.classProperties      | es6.classes\nes7.decorators           | es6.classes\nes7.asyncFunctions       | es6.classes\nes7.objectRestSpread     | es6.destructuring\n
Run Code Online (Sandbox Code Playgroud)\n\n

______

\n\n

结论

\n\n

似乎没有 ES6 Babel 变压器依赖于另一个变压器。因此,任何在 Chrome 中实现的 ES6 功能都是规范。合规,你不再需要依赖 Babel 了。这些是:es6.parameterses6.spreades6.arrowFunctions

\n