regeneratorRuntime is not defined

webpack编译代码时控制台报错regeneratorRuntime is not defined

babel不能完全的编译支持es6及以上,对于async,await之类的还需要另外添加包兼容

解决方式

方法一

安装插件

npm install --save-dev babel-plugin-transform-runtime
1

然后在.babelrc文件中,添加 transform-runtime的内容和regenerator为true





















 



 






{
  "presets": [
    [
      "env",
      {
        "modules": false,
        "targets": {
          "browsers": [
            "iOS >= 6",
            "Android >= 4.1"
          ]
        }
      }
    ]
  ],
  "plugins": [
    "syntax-dynamic-import",
    "transform-object-assign",
    "transform-object-rest-spread",
    [
        "transform-runtime",
        {
            "helpers": false,
            "polyfill": false,
            "regenerator": true,
            "moduleName": "babel-runtime"
        }
    ]
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

方法二

安装插件

npm install --save-dev babel-plugin-transform-async-to-generator
1

然后在.babelrc文件中,添加 transform-async-to-generator




















 



{
  "presets": [
    [
      "env",
      {
        "modules": false,
        "targets": {
          "browsers": [
            "iOS >= 6",
            "Android >= 4.1"
          ]
        }
      }
    ]
  ],
  "plugins": [
    "syntax-dynamic-import",
    "transform-object-assign",
    "transform-object-rest-spread",
    "transform-async-to-generator"
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22