首页 >web前端 >js教程 >为什么在 Babel 6 中使用 async/await 时出现'regeneratorRuntime 未定义”,以及如何修复它?

为什么在 Babel 6 中使用 async/await 时出现'regeneratorRuntime 未定义”,以及如何修复它?

Barbara Streisand
Barbara Streisand原创
2024-12-03 04:50:13140浏览

Why is

“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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn