Babel 6 中缺少异步生成器
在 Babel 6 中,您在尝试实现异步时可能会遇到“regeneratorRuntime is not Defined”错误发电机。发生这种情况是因为构成异步函数基础的再生器运行时需要与 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 的“devDependencies”部分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 is not Defined”,我该如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!