我得到错误Uncaught ReferenceError: regeneratorRuntime is not defined
使用React与webpack和巴别塔。
在this answer之后,我将.babel.rc
定义为:
{
"presets": ["@babel/preset-env", "@babel/preset-react"] ,
"plugins": [
["@babel/plugin-transform-runtime"]
]
}
和运行:
npm i --save-dev @babel/plugin-transform-runtime
但是,之后我得到了完全相同的错误。我还跟踪了this other answer和this one,但仍然得到了完全相同的错误。
我的babel在package.json
中的具体安装如下:
"dependencies": {
"@babel/runtime": "^7.14.6"
},
"devDependencies": {
"@babel/core": "^7.14.6",
"@babel/plugin-transform-runtime": "^7.14.5",
"@babel/preset-env": "^7.14.7",
"@babel/preset-react": "^7.14.5"
}
有什么想法吗?
3条答案
按热度按时间c3frrgcw1#
嘿,我遇到了同样的问题,我正在使用巴别塔7,对我来说,我安装了这两个依赖:
并且,在.babelrc中,添加:
"这解决了我的问题"
koaltpgm2#
{“预置”:[ ["@巴别塔/预设环境”,{“目标”:{“节点”:“9.2.1”} }],“@巴别/预设-React”] }
这是我的文件**.babelrc**
外观:
@babel/preset-env是一个智能预设,它允许您使用最新的JavaScript,而无需对目标环境所需的语法转换(以及可选的浏览器polyfills)进行微观管理。这不仅让您的工作更轻松,而且JavaScript包也更小!
您的问题:
你正在使用“@ babel / preset-env”,你必须指定要编译的节点版本。“节点〉7.6”。我建议10。
为什么node〉7.6Node.js 7.6在默认情况下提供了对async/await的官方支持,并在低内存设备上提供了更好的性能。
如何指定版本:很简单
目标.节点字符串|“当前”。
对我来说是这样的:
这样可以让编译器了解ASYNC AWAIT,希望对你有所帮助!
您还可以添加插件来处理“asyc away”
https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator
注意-〉此配置适用于node-js;这只是一个例子
mccptt673#
这对我来说很有用:
How to allow async functions in React + Babel?
我的问题是我在我的
.babel.rc
文件和webpack.config.js
文件中都定义了Babel插件。我需要从我的webpack.config.js
文件中删除那个插件,只在我的.babel.rc
文件中使用它。然后它就工作得很好了。