「Babel 6 regeneratorRuntime が定義されていません」の説明
Babel 6 で async/await を実装すると、「regeneratorRuntime が定義されていません」エラーが発生する一般的に起こります。この問題を修正するには、さらに babel-polyfill をインストールしてインクルードする必要があります。
Babel 依存関係のインストール
async/await を使用するには、次の依存関係をインストールします。
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
更新中package.json
「devDependency」に以下を追加します:
"babel-polyfill": "^6.0.16"
Maintaining .babelrc
設定はそのままにしておきます。
{ "presets": [ "es2015", "stage-0" ] }
セットアップAsync/await**
コード内で async/await を有効にします:
"use strict"; export default async function foo() { var s = await bar(); console.log(s); } function bar() { return "bar"; }
必要なパッケージのロード
スタートアップ ファイル内、次のものが含まれます:
require("babel-core/register"); require("babel-polyfill");
Webpack構成
webpack を使用している場合は、babel-polyfill が最初のエントリであることを確認してください。
module.exports = { entry: ['babel-polyfill', './test.js'], output: { filename: 'bundle.js' }, module: { loaders: [ { test: /\.jsx?$/, loader: 'babel', } ] } };
Babel を使用したテスト
でテストを実行Babel を使用:
mocha --compilers js:babel-core/register --require babel-polyfill
以上がBabel 6 で Async/Await を使用すると「regeneratorRuntime が定義されていません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。