解决 Babel 6 Async/Await 的“regeneratorRuntime is not Defined”错误
当尝试在 Babel 6 中实现 async/await 功能时,开发人员可能会遇到“regeneratorRuntime 未定义”错误。这是因为,与 Babel 的更高版本不同,async/await 支持需要 Babel 6 中的 babel-polyfill 包。
解决方案:
安装babel-polyfill:
npm i -D babel-polyfill
更新 package.json:
"devDependencies": { "babel-polyfill": "^6.0.16", }
修改webpack配置(如果适用):
在 webpack.config.js 中,确保 babel-polyfill 是条目数组中的第一个条目:
module.exports = { entry: ['babel-polyfill', './test.js'], ... };
设置 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中文网其他相关文章!