“Babel 6 regeneratorRuntime 未定义”
问题:在 Babel 6 上使用 async/await 时,出现错误消息“regeneratorRuntime 未定义”。如何解决这个问题?
答案:
要解决这个问题,Babel 必须配置为包含 babel-polyfill 包,它为异步提供必要的运行时支持/await.
第 1 步:需要安装软件包
npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
第 2 步:更新 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" }
第 3 步:配置 Babel(在 .babelrc 中)
{ "presets": [ "es2015", "stage-0" ] }
步骤4: 激活 Polyfill
在启动文件中:
require("babel-core/register"); require("babel-polyfill");
对于 Webpack 用户:
作为第一个值webpack 配置中的条目数组:
module.exports = { entry: ['babel-polyfill', './test.js'], ... }
对于测试人员:
使用 Babel 运行测试:
mocha --compilers js:babel-core/register --require babel-polyfill
通过完成这些步骤,Babel 将为 async/await 提供必要的运行时支持,消除“regeneratorRuntime 未定义”错误。
以上是为什么在 Babel 6 中使用 async/await 时出现'regeneratorRuntime 未定义”,以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!