ホームページ > ウェブフロントエンド > jsチュートリアル > Babel 6 で「regeneratorRuntime が定義されていません」エラーが発生するのはなぜですか?どうすれば修正できますか?

Babel 6 で「regeneratorRuntime が定義されていません」エラーが発生するのはなぜですか?どうすれば修正できますか?

DDD
リリース: 2024-12-08 21:47:14
オリジナル
580 人が閲覧しました

Why am I getting a

Babel 6 での「regeneratorRuntime が定義されていません」エラー

Babel 6 を使用すると、「regeneratorRuntime が定義されていません」というエラーが発生する場合があります。特に async/await 構文を使用する場合にエラーが発生します。このエラーは、Babel のセットアップ時に必要な依存関係または構成が欠落していることを示します。

この問題を解決するには、babel-polyfill をインストールして構成する必要があります。このライブラリは、ネイティブにサポートされている機能をサポートしていない環境で、async/await などの最新の JavaScript 機能をサポートするために使用できる一連のポリフィルを提供します。

依存関係のインストール

まず、npm を使用して babel-polyfill とその他の必要な Babel 依存関係をインストールします。

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
ログイン後にコピー

package.json を更新します。

package.json を更新しますファイルを作成し、babel-polyfill を devDependency に追加します:

"devDependencies": {
  "babel-core": "^6.0.20",
  "babel-polyfill": "^6.0.16",
  "babel-preset-es2015": "^6.0.15",
  "babel-preset-stage-0": "^6.0.15"
}
ログイン後にコピー

Update .babelrc

.babelrc ファイルに変更を加える必要はありません。次のようになります:

{
  "presets": [ "es2015", "stage-0" ]
}
ログイン後にコピー

JavaScript ファイルを更新します

async/await 構文を使用していることを確認してください。例:

"use strict";

export default async function foo() {
  var s = await bar();
  console.log(s);
}

function bar() {
  return "bar";
}
ログイン後にコピー

スタートアップ ファイル内

スタートアップ ファイル内で、Babel と babel-polyfill を必ず登録してください:

require("babel-core/register");
require("babel-polyfill");
ログイン後にコピー

Webpack を使用しているユーザーは、@Cemen の提案に従い、babel-polyfill を追加してください。 Webpack 設定ファイルのエントリ配列の最初の値に設定します:

module.exports = {
  entry: ['babel-polyfill', './test.js'],

  output: {
    filename: 'bundle.js'       
  },

  module: {
    loaders: [
      { test: /\.jsx?$/, loader: 'babel', }
    ]
  }
};
ログイン後にコピー

Mocha テストの場合は、次を使用します:

mocha --compilers js:babel-core/register --require babel-polyfill
ログイン後にコピー

これらの手順に従って、「」を解決する機能regeneratorRuntime が定義されていません」というエラーが表示される場合は、async/await 構文を使用します。

以上がBabel 6 で「regeneratorRuntime が定義されていません」エラーが発生するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート