web-dev-qa-db-fra.com

Comment ajouter flatMap avec babel 7?

Après avoir lu l'article Suppression des préréglages de scène de Babel par babel, je ne comprends toujours pas comment ajouter une proposition, par exemple, stage-3 ( flatMap ) à .babelrc.

Autant que je sache, parce que flatMap peut être écrit en ES5, alors j'ai besoin d'un polyfill et non d'un plugin. J'ai installé @babel/polyfill sous --save-dev mais le navigateur me dit toujours que cette méthode n'existe pas. Je suppose que @babel/polyfill ne couvre pas les fonctionnalités expérimentales.

8
Stav Alfi

flatMap a été supprimé de @ babel/polyfill pour babel 7. Vous devez l'inclure directement à partir de core-js, comme

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

Ou si vous voulez que tous les polyfills que babel 6 inclue:

import "core-js/shim";

Voir: https://github.com/babel/babel/pull/844 (ou plus directement, le section pertinente du guide de mise à niveau v7)

(Aussi, ne vous inquiétez pas d'avoir à ajouter un nouveau package: vous avez déjà core-js dans votre arbre de dépendance; c'est là que babel/polyfill obtient le reste de ses polyfills Stage 4+ )

13
George

Avec core.js 3.x, utilisez l'importation suivante:

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