gpt4 book ai didi

reactjs - Babel 7.5 目标是 babel-preset-es2015 而不是 @babel/preset-env

转载 作者:行者123 更新时间:2023-12-05 03:58:53 32 4
gpt4 key购买 nike

我已经安装了 babel 7.5,理想情况下它应该以 preset-env 包为目标,但不确定它为什么要寻找“babel-preset-es2015”。

你们能告诉我我做错了什么吗?下面是我的代码

package.json

{
"name": "",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --mode development --open --hot",
"build": "webpack --mode production"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^16.9.0",
"react-dom": "^16.9.0",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7",
"webpack-dev-server": "^3.8.0"
},
"devDependencies": {
"@babel/core": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.6",
"html-webpack-plugin": "^3.2.0"
}
}

.babelrc

{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}

错误如下:

模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):
错误:无法从“D:\Shashank\Projects\UploadUtility”找到模块“babel-preset-es2015”

最佳答案

你好@Shashank Srivastava,

webpack.config.js 文件中你有 module 属性

module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['es2015', 'react'] // here is the problem!
}
}
]
},

我发现这里的问题是预设的旧术语。

对于 babel 7.5+,在这种特殊情况下,正确的预设名称是 "@babel/preset-env""@babel/preset-react"

所以长话短说,您已经在 .babelrc 文件中有了新的正确预设名称,因此您应该使用新预设更新 webpack.config.js 文件姓名:

query: {
presets: ["@babel/preset-env", "@babel/preset-react"] // updated preset names
}

它将指示 babel-loader 寻找并加载正确的预设。

这个解决方案对我有用,所以我希望它对你也有用。 😉

关于reactjs - Babel 7.5 目标是 babel-preset-es2015 而不是 @babel/preset-env,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57622316/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com