reactjs - Atom & eslint:找不到模块 'eslint-config-react-app'
问题描述
因为我在我的 create-react-app 项目中重新安装了我的 NPM 依赖项,所以 Atom 的 eslint 在每个文件的顶部都给了我这个错误:
Error while running ESLint: Cannot find module 'eslint-config-react-app'.
虽然react-scripts
's eslint 不会引发任何警告或错误。顺便说一句,该软件包eslint-config-react-app
安装在node_modules
. 我尝试重新安装 linter-eslint、atom、NPM 依赖项等。没有任何效果。
有人有想法吗?
这是我的 .eslintrc :
{
"extends": "react-app",
"rules": {
"jsx-a11y/anchor-is-valid": 0,
"react/jsx-no-comment-textnodes": 0,
"no-unused-vars": ["warn", {
args: "all",
ignoreRestSiblings: false,
argsIgnorePattern: "^_$"
}]
}
}
编辑:我不知道为什么,但突然之间,错误发生了变化,现在它是每个 js 文件顶部的错误:
Error while running ESLint: Invalid regular expression flags
编辑 2
给定的解决方案都不适用于我的情况。的问题linter-eslint
没有解决。但我现在找到了一种解决方法:使用fast-eslint
而不是linter-eslint
. 工作得很好。
解决方案
由于您提到问题是在您重新安装 npm 模块后出现的,它可能与 npm 依赖解析有关。因此,您可能有同一个模块的多个版本,而 atom 可能会使用错误的版本。
根据Displaying Lint Output in the Editor检查您的 react-scripts 版本是否为 0.2.0 或更高版本
从
eslint
您的package.json
.这意味着删除
babel-eslint
,eslint
,eslint-plugin-flowtype
,eslint-plugin-import
,eslint-plugin-jsx-a11y
,eslint-plugin-react
, 等Create react app 会在后台安装所有 linting 依赖项,因此您不应手动安装它们。
删除所有全局
eslint
相关依赖项。通常,您不需要使用全局安装的 eslint 依赖项,因为您的每个项目中可能有不同的 eslint 版本。
然后,最新版本的linter-eslint应该在项目中使用正确的 eslint 依赖项node_modules
。
更新:根据您的评论和编辑过的问题,我尝试使用 CRA 复制此内容,替换 中的依赖项package.json
,重新安装并添加以下内容.eslintrc
。
请注意,我"
在"no-unused-vars"
.
{
"extends": "react-app",
"rules": {
"jsx-a11y/anchor-is-valid": 0,
"react/jsx-no-comment-textnodes": 0,
"no-unused-vars": ["warn", {
"args": "all",
"ignoreRestSiblings": false,
"argsIgnorePattern": "^_$"
}]
}
}
完成所有这些后,我无法重现该问题。
推荐阅读
- php - Laravel:vue文件中body和html标签的本地css
- angular - “x”是只读的,但不是
- tensorflow - Tensorflow Lite 基准测试应用说明
- swift - 冲突调用 viewDidLoad() 和另一个代码块
- flutter - 将按钮颜色更改为弯曲导航栏中选项卡上的主要颜色
- arrays - 如何组合字典中的重复键并快速总结值?
- android - 用于测试 SafetyNet 验证应用 API 的潜在有害应用程序示例
- javascript - 获取数据时单选按钮的Reactjs问题
- ruby-on-rails - 可以在加载 Rails 之前进行测试吗?
- android - 带有手势导航的错误小吃店位置