游.程 2015-11-04 16:58 采纳率: 0%
浏览 1893
已采纳

未定义 Babel 6 regeneratorRuntime

I'm trying to use async, await from scratch on Babel 6, but I'm getting regeneratorRuntime is not defined.

.babelrc file

{
    "presets": [ "es2015", "stage-0" ]
}

package.json file

"devDependencies": {
    "babel-core": "^6.0.20",
    "babel-preset-es2015": "^6.0.15",
    "babel-preset-stage-0": "^6.0.15"
}

.js file

"use strict";
async function foo() {
  await bar();
}
function bar() { }
exports.default = foo;

Using it normally without the async/await works just fine. Any ideas what I'm doing wrong?

转载于:https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined

  • 写回答

25条回答 默认 最新

  • lrony* 2015-11-04 17:10
    关注

    babel-polyfill is required. You must also install it in order to get async/await working.

    npm i -D babel-core babel-polyfill babel-preset-es2015 babel-preset-stage-0 babel-loader
    

    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"
    }
    

    .babelrc

    {
      "presets": [ "es2015", "stage-0" ]
    }
    

    .js with async/await (sample code)

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

    In the startup file

    require("babel-core/register");
    require("babel-polyfill");
    

    If you are using webpack you need to put it as the first entry as per @Cemen comment:

    module.exports = {
      entry: ['babel-polyfill', './test.js'],
    
      output: {
        filename: 'bundle.js'       
      },
    
      module: {
        loaders: [
          { test: /\.jsx?$/, loader: 'babel', }
        ]
      }
    };
    

    If you want to run tests with babel then use:

    mocha --compilers js:babel-core/register --require babel-polyfill
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(24条)

报告相同问题?

悬赏问题

  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥100 如何用js写一个游戏云存档