在阅读了Removing Babel's Stage Presets by的文章后babel
,我仍然没有完全理解如何将提案从例如stage-3
( flatMap ) 添加到.babelrc
.
据我了解,因为flatMap
可以用 ES5 编写,所以我需要一个 polyfill 而不是插件。我安装@babel/polyfill
在 --save-dev 下,但浏览器仍然告诉我这个方法不存在。我想这@babel/polyfill
不包括实验性功能。
在阅读了Removing Babel's Stage Presets by的文章后babel
,我仍然没有完全理解如何将提案从例如stage-3
( flatMap ) 添加到.babelrc
.
据我了解,因为flatMap
可以用 ES5 编写,所以我需要一个 polyfill 而不是插件。我安装@babel/polyfill
在 --save-dev 下,但浏览器仍然告诉我这个方法不存在。我想这@babel/polyfill
不包括实验性功能。
flatMap 已从 babel 7 的 @babel/polyfill 中删除。您需要直接从 core-js 中包含它,例如
import "core-js/fn/array/flat-map";
或者,如果你想要 babel 6 曾经包含的所有 polyfill:
import "core-js/shim";
见:https ://github.com/babel/babel/pull/8440 (或者更直接的,v7升级指南的相关部分)
(另外,不必担心必须添加一个新包:您的依赖关系树中已经有 core-js;这就是 babel/polyfill 获得其 Stage 4+ polyfills 其余部分的地方)
对于 core.js 3.x,使用以下导入:
import "core-js/features/array/flat-map";