首页 > web前端 > js教程 > 在 Babel 6 中使用 Async/Await 时,为什么我会收到'regeneratorRuntime is not Defined”?

在 Babel 6 中使用 Async/Await 时,为什么我会收到'regeneratorRuntime is not Defined”?

Susan Sarandon
发布: 2024-12-08 17:38:12
原创
147 人浏览过

Why Am I Getting

“Babel 6 regeneratorRuntime is not Defined”解释

在 Babel 6 中实现 async/await 时,出现“regeneratorRuntime is not Defined”错误常出现。要解决此问题,必须另外安装并包含 babel-polyfill。

安装 Babel 依赖项

要使用 async/await,请安装这些依赖项:

npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
登录后复制

更新中package.json

将以下内容添加到“devDependency”:

"babel-polyfill": "^6.0.16"
登录后复制

维护 .babelrc

保持设置不变:

{
  "presets": [ "es2015", "stage-0" ]
}
登录后复制

设置Async/await**

在代码中启用 async/await:

"use strict";

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

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

加载所需的包

在启动文件中,包括:

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

Webpack配置

如果使用 webpack,请确保 babel-polyfill 是第一个条目:

module.exports = {
  entry: ['babel-polyfill', './test.js'],

  output: {
    filename: 'bundle.js'       
  },

  module: {
    loaders: [
      { test: /\.jsx?$/, loader: 'babel', }
    ]
  }
};
登录后复制

使用 Babel 进行测试

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

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

以上是在 Babel 6 中使用 Async/Await 时,为什么我会收到'regeneratorRuntime is not Defined”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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