ホームページ >ウェブフロントエンド >jsチュートリアル >Babel 6 で Async/Await を使用した「regeneratorRuntime が定義されていません」エラーを修正する方法

Babel 6 で Async/Await を使用した「regeneratorRuntime が定義されていません」エラーを修正する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-03 08:46:09324ブラウズ

How to Fix the

Babel 6 非同期/待機による「regeneratorRuntime が定義されていません」エラーの解決

Babel 6 で非同期/待機機能を実装しようとすると、開発者は「regeneratorRuntime が定義されていません」エラーが発生する可能性があります。これは、Babel の以降のバージョンとは異なり、Babel 6 では async/await サポートに babel-polyfill パッケージが必要であるためです。

解決策:

  1. インストールbabel-polyfill:

    npm i -D babel-polyfill
  2. package.json の更新:

    "devDependencies": {
      "babel-polyfill": "^6.0.16",
    }
  3. Webpack 設定を変更します (場合該当する):
    webpack.config.js で、babel-polyfill がエントリ配列の最初のエントリであることを確認します:

    module.exports = {
      entry: ['babel-polyfill', './test.js'],
      ...
    };
  4. Setup babel -起動時のpolyfillとbabel-coreファイル:

    require("babel-core/register");
    require("babel-polyfill");

コード例:

"use strict";

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

function bar() {
  return "bar";
}

Babel でのテストの実行:

Babel でテストを実行する場合は、次を使用しますコマンド:

mocha --compilers js:babel-core/register --require babel-polyfill

以上がBabel 6 で Async/Await を使用した「regeneratorRuntime が定義されていません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。