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?

Warum ist „regeneratorRuntime nicht definiert', wenn async/await mit Babel 6 verwendet wird, und wie kann ich das Problem beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 04:50:13140Durchsuche

Why is

"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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn