如何使用Babel 7添加flatMap?

时间:2018-09-05 08:38:45

标签: javascript babeljs polyfills babel-polyfill

在阅读babel的文章Removing Babel's Stage Presets之后,我仍然不完全了解如何将提案从stage-3flatMap)添加到{{1 }}。

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

2 个答案:

答案 0 :(得分:13)

flatMap已从@ babel / polyfill中删除为babel7。您需要直接从core-js包含它,例如

import "core-js/fn/array/flat-map";

或者,如果您想要babel 6过去包含的所有polyfills:

import "core-js/shim";

请参阅:https://github.com/babel/babel/pull/8440(或更直接地,是v7升级指南的relevant section

(此外,不必担心必须添加新的软件包:您的依赖树中已经包含core-js;这是babel / polyfill得到the rest of its Stage 4+ polyfills的地方)

答案 1 :(得分:0)

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

import "core-js/features/array/flat-map";