Babel 7.4.0 oder höher (core-js 2/3)
Wie von Babel 7.4.0 , @babel/polyfill ist veraltet .
Im Allgemeinen gibt es zwei Möglichkeiten, Polyfills / Regenerator zu installieren: über den globalen Namespace (Option 1) oder als Ponyfill (Option 2, ohne globale Verschmutzung).
Option 1: @babel/preset-env
presets: [
["@babel/preset-env", {
useBuiltIns: "usage",
corejs: 3, // or 2,
targets: {
firefox: "64", // or whatever target to choose .
},
}]
]
wird automatisch regenerator-runtimeund core-jsentsprechend Ihrem Ziel verwendet . Sie müssen nichts manuell importieren. Vergessen Sie nicht, Laufzeitabhängigkeiten zu installieren:
npm i --save regenerator-runtime core-js
Alternativ können Sie useBuiltIns: "entry"es manuell einstellen und importieren:
import "regenerator-runtime/runtime";
import "core-js/stable"; // if polyfills are also needed
Option 2: @babel/transform-runtime mit @babel/runtime(keine globale Verschmutzung)
{
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"regenerator": true,
corejs: 3 // or 2; if polyfills needed
...
}
]
]
}
Es installieren:
npm i -D @babel/plugin-transform-runtime
npm i @babel/runtime
Wenn Sie Kern-js polyfills zu verwenden, installieren Sie @babel/runtime-corejs2oder @babel/runtime-corejs3stattdessen finden Sie hier .
Prost