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
Freigeben: 2024-12-03 04:50:13
Original
150 Leute haben es durchsucht

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
Nach dem Login kopieren

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"
}
Nach dem Login kopieren

Schritt 3: Babel konfigurieren (in .babelrc)

{
  "presets": [ "es2015", "stage-0" ]
}
Nach dem Login kopieren

Schritt 4: Aktivieren Polyfill

In Ihrer Startdatei:

require("babel-core/register");
require("babel-polyfill");
Nach dem Login kopieren

Für Webpack-Benutzer:

Platzieren Sie als ersten Wert des Eintragsarrays in die Webpack-Konfiguration:

module.exports = {
  entry: ['babel-polyfill', './test.js'],
  ...
}
Nach dem Login kopieren

Für Tester:

Tests mit Babel ausführen:

mocha --compilers js:babel-core/register --require babel-polyfill
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage