CRA项目babel-eslint报错,如何定位需要修改的.eslintrc配置文件?
CRA项目ESLint配置问题解决方案
你通过locate命令搜出来的所有.eslintrc文件均为第三方依赖包自带的配置,不需要修改,和你的项目无关。
CRA(create-react-app)默认不会在项目根目录生成公开的.eslintrc类配置文件,相关规则默认内置在react-scripts中,所以你用ls -al也找不到项目本地的配置文件属于正常情况。
解决步骤
- 直接在项目根目录新建.eslintrc.json配置文件,你手动新增的配置会自动覆盖react-scripts的默认ESLint配置,无需修改原有内置文件
- 在新建的配置文件中写入以下内容即可:
{ "extends": "react-app", "parser": "/usr/local/lib/node_modules/babel-eslint" }
- 如果你不想手动新建配置文件,也可以直接修改package.json中的
eslintConfig字段:将该字段下的parser值替换为你需要的全局babel-eslint路径即可,CRA默认会优先读取package.json里的eslintConfig配置。
更稳妥的兼容修复方案
你遇到的ES模块导入报错本质是因为babel-eslint已经停止维护,对新版ESLint的兼容性不足,你可以替换为官方现在推荐的@babel/eslint-parser彻底解决问题,不需要写死全局依赖路径:
- 执行命令安装新parser:
npm install @babel/eslint-parser --save-dev - 将上述配置中的parser值替换为
"@babel/eslint-parser"即可,跨设备使用也不会出现路径失效问题。
修改完成后执行npm run build验证报错是否消失即可。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

