首页 > web前端 > js教程 > 如何使用 Async/Await 修复 Babel 6 中的'regeneratorRuntime is not Defined”错误?

如何使用 Async/Await 修复 Babel 6 中的'regeneratorRuntime is not Defined”错误?

Patricia Arquette
发布: 2024-12-03 08:46:09
原创
323 人浏览过

How to Fix the

解决 Babel 6 Async/Await 的“regeneratorRuntime is not Defined”错误

当尝试在 Babel 6 中实现 async/await 功能时,开发人员可能会遇到“regeneratorRuntime 未定义”错误。这是因为,与 Babel 的更高版本不同,async/await 支持需要 Babel 6 中的 babel-polyfill 包。

解决方案:

  1. 安装babel-polyfill:

    npm i -D babel-polyfill
    登录后复制
  2. 更新 package.json:

    "devDependencies": {
      "babel-polyfill": "^6.0.16",
    }
    登录后复制
  3. 修改webpack配置(如果适用):
    在 webpack.config.js 中,确保 babel-polyfill 是条目数组中的第一个条目:

    module.exports = {
      entry: ['babel-polyfill', './test.js'],
      ...
    };
    登录后复制
  4. 设置 babel -启动时的polyfill和babel-core文件:

    require("babel-core/register");
    require("babel-polyfill");
    登录后复制

示例代码:

"use strict";

export default async function foo() {
  var s = await bar();
  console.log(s);
}

function bar() {
  return "bar";
}
登录后复制

使用 Babel 运行测试:

使用 Babel 运行测试时,请使用以下命令命令:

mocha --compilers js:babel-core/register --require babel-polyfill
登录后复制

以上是如何使用 Async/Await 修复 Babel 6 中的'regeneratorRuntime is not Defined”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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