📌  相关文章
📜  react ReferenceError: regeneratorRuntime is not defined - Javascript(1)

📅  最后修改于: 2023-12-03 15:34:39.069000             🧑  作者: Mango

React ReferenceError: regeneratorRuntime is not defined - Javascript

这个错误通常在使用async和await函数时出现,因为async和await需要使用到ES6中新增的generator函数,需要借助babel来将代码转换成浏览器可以理解的ES5语法,而babel需要依赖regeneratorRuntime。

解决方案
  1. 安装babel-polyfill

npm install babel-polyfill

在你的入口文件(比如index.js)中引入:

import 'babel-polyfill';
  1. 安装@babel/plugin-transform-runtime

npm install --save-dev @babel/plugin-transform-runtime

在.babelrc文件的plugins中添加:

{
  "plugins": [
    ["@babel/plugin-transform-runtime",
      {
        "corejs": 2,
        "helpers": true,
        "regenerator": true,
        "useESModules": false
      }
    ]
  ]
}
  1. 安装@babel/runtime

npm install --save @babel/runtime

在你的入口文件(比如index.js)中引入:

import 'core-js/stable';
import 'regenerator-runtime/runtime';
总结

以上三种方法都可以解决React应用中使用async和await函数时出现的regeneratorRuntime未定义的问题。在选择时,应根据具体情况进行选择。