首页 > web前端 > js教程 > 为什么在 Babel 6 中使用异步生成器时出现'regeneratorRuntime is not Defined”,我该如何修复它?

为什么在 Babel 6 中使用异步生成器时出现'regeneratorRuntime is not Defined”,我该如何修复它?

Susan Sarandon
发布: 2024-11-29 08:40:11
原创
306 人浏览过

Why is

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板