csdnceshi62 2015-11-04 16:58 采纳率: 100%
浏览 879
已采纳

未定义 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

  • 写回答

24条回答 默认 最新

  • YaoRaoLov 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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(23条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应