8

在阅读了Removing Babel's Stage Presets by的文章后babel,我仍然没有完全理解如何将提案从例如stage-3( flatMap ) 添加到.babelrc.

据我了解,因为flatMap可以用 ES5 编写,所以我需要一个 polyfill 而不是插件。我安装@babel/polyfill在 --save-dev 下,但浏览器仍然告诉我这个方法不存在。我想这@babel/polyfill不包括实验性功能。

4

2 回答 2

14

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 其余部分的地方

于 2018-09-06T05:17:06.993 回答
4

对于 core.js 3.x,使用以下导入:

import "core-js/features/array/flat-map";
于 2019-10-23T08:54:33.417 回答