cal*_*lum 5 javascript google-chrome ecmascript-6 babeljs
我正在编写ES6 +代码并用Babel编译它(目前{stage: 0}用作我的.babelrc配置).
所以我正在编译所有内容直到ES5.但是我擅长瞄准Chrome v47 +,它本身支持一些ES6 +功能.
我可以将哪些默认的Babel变换器列入黑名单(禁用)并且仍然可以在Chrome 47+中运行我的代码?
查看此页面,了解 Chrome 中默认完全实现和启用的功能以及它们对应的 Babel 转换器的此页面。
\n\nES6 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\nRun Code Online (Sandbox Code Playgroud)\n\n*我已经导出了规格列。通过查看当前实现所基于的规范草案来实现合规性(回复:Chrome 而非 Babel)。例如“编辑草稿”——我认为这意味着可能不完整或不正确的实现。
\n\n______
\n\n这些是我从 Babel 源代码中识别出的 Transformer 之间的依赖关系:
\n\nTransformer Dependencies\n--------------------------------------------\nes7.classProperties | es6.classes\nes7.decorators | es6.classes\nes7.asyncFunctions | es6.classes\nes7.objectRestSpread | es6.destructuring\nRun Code Online (Sandbox Code Playgroud)\n\n______
\n\n似乎没有 ES6 Babel 变压器依赖于另一个变压器。因此,任何在 Chrome 中实现的 ES6 功能都是规范。合规,你不再需要依赖 Babel 了。这些是:es6.parameters、es6.spread和es6.arrowFunctions。