Babel 6 非同期/待機による「regeneratorRuntime が定義されていません」エラーの解決
Babel 6 で非同期/待機機能を実装しようとすると、開発者は「regeneratorRuntime が定義されていません」エラーが発生する可能性があります。これは、Babel の以降のバージョンとは異なり、Babel 6 では async/await サポートに babel-polyfill パッケージが必要であるためです。
解決策:
インストールbabel-polyfill:
npm i -D babel-polyfill
package.json の更新:
"devDependencies": { "babel-polyfill": "^6.0.16", }
Webpack 設定を変更します (場合該当する):
webpack.config.js で、babel-polyfill がエントリ配列の最初のエントリであることを確認します:
module.exports = { entry: ['babel-polyfill', './test.js'], ... };
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 サイトの他の関連記事を参照してください。