ホームページ >ウェブフロントエンド >jsチュートリアル >Babel 6 で非同期ジェネレーターを使用すると「regeneratorRuntime が定義されていません」というメッセージが表示されるのはなぜですか?また、どうすれば修正できますか?
Babel 6 に非同期ジェネレーターがありません
Babel 6 では、非同期を実装しようとすると、「regeneratorRuntime is not generated」というエラーが発生することがあります。発電機。これは、非同期関数の基礎を形成するリジェネレータ ランタイムを Babel と一緒に含める必要があるために発生します。
解決策: Babel-polyfill を含めます
これを解決するにはエラーが発生した場合は、非同期のサポートを提供する babel-polyfill をインストールする必要があります。関数。
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
更新された構成
babel-polyfill をインストールした後、package.json の「devDependency」セクションを新しいもので更新します。 package.
package.json
"devDependencies": { "babel-core": "^6.0.20", "babel-polyfill": "^6.0.16", "babel-preset-es2015": "^6.0.15", "babel-preset-stage-0": "^6.0.15" }
Polyfill の組み込み
起動ファイルでは、両方の babel-コア/レジスタとbabel-polyfill.
スタートアップ ファイル
require("babel-core/register"); require("babel-polyfill");
Webpack ユーザーの場合は、エントリ配列の最初のエントリとして '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
これらの調整により、Babel 6 環境で非同期ジェネレーターにアクセスできるようになります。これにより、async/await 構文をシームレスに作成して利用できるようになります。
以上がBabel 6 で非同期ジェネレーターを使用すると「regeneratorRuntime が定義されていません」というメッセージが表示されるのはなぜですか?また、どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。