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
Susan SarandonOriginal
2024-12-08 17:38:12195Durchsuche

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

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!

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