如何使用babel 7添加flatMap?

Sta*_*lfi 8 javascript polyfills babeljs babel-polyfill

阅读文章删除Babel的舞台预设babel,我仍然不完全了解如何从(例如)stage-3(flatMap)添加提案.babelrc.

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

Geo*_*rge 13

flatMap已从@ babel/polyfill中删除,用于babel 7.你需要直接从core-js中包含它,比如

import "core-js/fn/array/flat-map";
Run Code Online (Sandbox Code Playgroud)

或者如果你想要babel 6使用的所有polyfills包括:

import "core-js/shim";
Run Code Online (Sandbox Code Playgroud)

请参阅:https://github.com/babel/babel/pull/8440(或更直接地说,v7升级指南的相关部分)

(另外,不必担心必须添加一个新包:你的依赖树中已经有了core-js;这就是babel/polyfill获得其余Stage 4+ polyfill的地方)