错误:无法加载在“.eslintrc”中声明的解析器“babel-eslint”:在 create-react-app 中找不到模块“babel-eslint”

Ale*_*ach 5 reactjs eslint create-react-app babel-eslint

尝试将eslint安装到create-react-app 中,但在运行linter时出现下一个错误:

在此处输入图像描述]

这是我的.eslintrc配置文件:

{
  "extends": ["airbnb", "prettier", "prettier/react"],
  "plugins": ["prettier"],
  "parser": "babel-eslint"
}
Run Code Online (Sandbox Code Playgroud)

如果babel-eslint手动安装它可能会根据项目和react-scripts依赖项之间的包冲突产生另一个错误: 在此处输入图片说明

Mah*_*yeh 24

你安装了@babel/eslint-parser还是eslint-parser?就我而言,我必须使用@babel/eslint-parser并且.eslintrc看起来像这样:

"parser": "@babel/eslint-parser",
Run Code Online (Sandbox Code Playgroud)

  • 根据 [https://www.npmjs.com/package/babel-eslint](`babel-eslint` ) 的 npm 页面,它已被弃用。请在 [Imgur](https://i.imgur.com/iqJ0FIm.png) 上查看此图片,上面写着“babel-eslint 现在是 @babel/eslint-parser”。所以使用你的建议对我有用。谢谢@Mahdiyeh (5认同)

Ale*_*ach 8

要解决此问题,只需重用已安装的babel-eslint依赖项react-scripts即可。更新您的配置:

{
  "extends": ["airbnb", "prettier", "prettier/react"],
  "plugins": ["prettier"],
  "parser": "react-scripts/node_modules/babel-eslint"
}
Run Code Online (Sandbox Code Playgroud)

  • “配置”是什么意思?应该更新哪个文件? (3认同)

Ole*_*leg 6

在我的例子中,解决方案只是运行npm install eslint --save-dev更新 eslint 版本