Heim >Web-Frontend >js-Tutorial >Warum ist „regeneratorRuntime nicht definiert', wenn async/await mit Babel 6 verwendet wird, und wie kann ich das Problem beheben?
"Babel 6 regeneratorRuntime ist nicht definiert"
Frage: Bei Verwendung von async/await auf Babel 6, an Es erscheint die Fehlermeldung „regeneratorRuntime ist nicht definiert“. Wie kann das behoben werden?
Antwort:
Um dieses Problem zu beheben, muss Babel so konfiguriert werden, dass es das Paket babel-polyfill enthält, das die notwendige Laufzeitunterstützung für Async bereitstellt /await.
Schritt 1: Installation erforderlich Pakete
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Schritt 2: package.json aktualisieren
"devDependencies": { "babel-core": "^6.0.20", "babel-polyfill": "^6.0.16", "babel-preset-es2015": "^6.0.15", "babel-preset-stage-0": "^6.0.15" }
Schritt 3: Babel konfigurieren (in .babelrc)
{ "presets": [ "es2015", "stage-0" ] }
Schritt 4: Aktivieren Polyfill
In Ihrer Startdatei:
require("babel-core/register"); require("babel-polyfill");
Für Webpack-Benutzer:
Platzieren Sie als ersten Wert des Eintragsarrays in die Webpack-Konfiguration:
module.exports = { entry: ['babel-polyfill', './test.js'], ... }
Für Tester:
Tests mit Babel ausführen:
mocha --compilers js:babel-core/register --require babel-polyfill
Durch die Ausführung dieser Schritte wird Babel die erforderliche Laufzeitunterstützung für Async/Await bereitstellen, wodurch die Meldung „regeneratorRuntime ist nicht definiert“ entfällt. Fehler.
Das obige ist der detaillierte Inhalt vonWarum ist „regeneratorRuntime nicht definiert', wenn async/await mit Babel 6 verwendet wird, und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!