Heim > Web-Frontend > js-Tutorial > Warum erhalte ich die Meldung „regeneratorRuntime ist nicht definiert', wenn ich Async/Await mit Babel 6 verwende?

Warum erhalte ich die Meldung „regeneratorRuntime ist nicht definiert', wenn ich Async/Await mit Babel 6 verwende?

Susan Sarandon
Freigeben: 2024-12-08 17:38:12
Original
141 Leute haben es durchsucht

Why Am I Getting

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

Aktualisierung package.json

Fügen Sie Folgendes zu „devDependencies“ hinzu:

"babel-polyfill": "^6.0.16"
Nach dem Login kopieren

Pflege von .babelrc

Behalten Sie die Einstellungen unverändert bei:

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

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

Erforderliche Pakete werden geladen

In Ihrer Startdatei , umfassen:

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

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', }
    ]
  }
};
Nach dem Login kopieren

Testen mit Babel

Tests ausführen mit Babel mit:

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

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!

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