Babel 6 regeneratorRuntime is not defined

前端 未结 30 1897
暖寄归人
暖寄归人 2020-11-22 03:49

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

.babelrc file

{
    \"presets\": [ \"es2         


        
30条回答
  •  遇见更好的自我
    2020-11-22 04:17

    The targeted browsers I need to support already support async/await, but when writing mocha tests, without the proper setting I still got this error.

    Most of the articles I googled are outdated, including the accepted answer and high voted answers here, i.e. you don't need polyfill, babel-regenerator-runtime, babel-plugin-transform-runtime. etc. if your target browser(s) already supports async/await (of course if not you need polyfill)

    I don't want to use webpack either.

    Tyler Long's answer is actually on the right track since he suggested babel-preset-env (but I omitted it first as he mentioned polifill at the beginning). I still got the ReferenceError: regeneratorRuntime is not defined at the first then I realized it was because I didn't set the target. After setting the target for node I fix the regeneratorRuntime error:

      "scripts": {
        //"test": "mocha --compilers js:babel-core/register"
        //https://github.com/mochajs/mocha/wiki/compilers-deprecation
        "test": "mocha --require babel-core/register"
      },
      "devDependencies": {
        "babel-core": "^6.26.3",
        "babel-preset-env": "^1.7.0",
        "mocha": "^5.2.0"
      },
      //better to set it .bablerc, I list it here for brevity and it works too.
      "babel": {
        "presets": [
          ["env",{
            "targets": {
              "node": "current"
               "chrome": 66,
               "firefox": 60,
            },
            "debug":true
          }]
        ]
      }
    

提交回复
热议问题