React项目.js文件导入React时提示Cannot find module '@babel/preset-react'错误
错误原因排查
该错误为ESLint解析阶段抛出的模块查找失败问题,不属于webpack编译错误,根因如下:
- 你的
.eslintrc.json配置中,parserOptions.babelOptions.presets字段填写的是["@babel/react"],这是Babel 6时代的旧版预设缩写,你当前安装的是Babel 7版本的@babel/preset-react,需要使用完整包名,或直接删除重复配置让@babel/eslint-parser自动读取项目根目录的.babelrc文件即可。 - 小概率为
node_modules依赖安装不完整导致的模块读取失败。
可行解决方案
按以下步骤操作即可解决:
- 修正ESLint配置
打开.eslintrc.json文件,找到parserOptions下的babelOptions配置块,二选一修改即可:
- 方案A:补全预设的完整包名
"babelOptions": { "presets": ["@babel/preset-env", "@babel/preset-react"] }
- 方案B:直接删除整个
babelOptions配置块,你的项目根目录已经存在.babelrc配置文件,@babel/eslint-parser会自动读取该文件的配置,无需重复声明。
- 清理重装依赖(可选,修改配置后仍报错再执行)
# 删除旧依赖和锁文件 rm -rf node_modules package-lock.json # 确认你的npm版本符合项目要求的~6版本后重装依赖 npm install
- 重启ESLint服务
修改配置后重启编辑器的ESLint插件,或手动重启ESLint服务,避免缓存导致旧错误残留。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

