„Babel 6 regeneratorRuntime ist nicht definiert“ erklärt
Bei der Implementierung von async/await in Babel 6 tritt der Fehler „regeneratorRuntime ist nicht definiert“ auf tritt häufig auf. Um dieses Problem zu beheben, muss man zusätzlich babel-polyfill installieren und einbinden.
Babel-Abhängigkeiten installieren
Um async/await zu verwenden, installieren Sie diese Abhängigkeiten:
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
Aktualisierung package.json
Fügen Sie Folgendes zu „devDependencies“ hinzu:
"babel-polyfill": "^6.0.16"
Pflege von .babelrc
Behalten Sie die Einstellungen unverändert bei:
{ "presets": [ "es2015", "stage-0" ] }
Einrichten Async/await**
Aktivieren Sie async/await in Ihrem Code:
"use strict"; export default async function foo() { var s = await bar(); console.log(s); } function bar() { return "bar"; }
Erforderliche Pakete werden geladen
In Ihrer Startdatei , umfassen:
require("babel-core/register"); require("babel-polyfill");
Webpack Konfiguration
Wenn Sie Webpack verwenden, stellen Sie sicher, dass babel-polyfill der erste Eintrag ist:
module.exports = { entry: ['babel-polyfill', './test.js'], output: { filename: 'bundle.js' }, module: { loaders: [ { test: /\.jsx?$/, loader: 'babel', } ] } };
Testen mit Babel
Tests ausführen mit Babel mit:
mocha --compilers js:babel-core/register --require babel-polyfill
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Meldung „regeneratorRuntime ist nicht definiert', wenn ich Async/Await mit Babel 6 verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!