【问题标题】:Turn off ESLint rule (in React app, using WebStorm)关闭 ESLint 规则(在 React 应用中,使用 WebStorm)
【发布时间】:2017-06-21 20:52:48
【问题描述】:

我正在使用标准 React 设置在 WebStorm 中编写一个 React 应用程序。我以前从未明确设置过任何 linting,因此显示的任何错误/警告消息都来自某种默认配置。当我运行npm start 时,我收到以下警告:

Compiled with warnings.

Warning in ./path/to/MyComponent.js

/my/complete/path/to/MyComponent.js
  19:49  warning  Unexpected whitespace before property bind  no-whitespace-before-property
...
You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.

最后两行明确表明警告来自 ESLint(与 JSHint 或一些自定义的 React linting 等相反)。

我想保持 ESLint 运行,即我不只是想全局禁用所有 linting。但是,我想在任何地方都关闭“no-whitespace-before-property”警告,而不仅仅是在一行或一个文件中。我该怎么做?

我的package.jsonnpm start 显示以下内容(这是我在出现警告时运行的内容):

"scripts": {
  "start": "react-scripts start",
  ...
}

我正在 WebStorm 中开发。 ESLint 首选项面板未选中“启用”复选框,因此 IDE 中的所有 ESLint 配置选项都是灰色的并且可能无关紧要,因此可能 ESLint 的配置和调用也在其他地方发生(例如,内置在 React 中?)。

我尝试将以下.eslintrc.json 文件放入我的项目主目录:

{
  "rules": {
    "no-whitespace-before-property": "off"
  }
}

单独以及与"extends": "eslint:recommended"

我尝试将以下内容添加到我的项目的 package.json 文件中:

{
  ...
  "eslintConfig": {
    "rules": {
      "no-whitespace-before-property": "off"
    }
  }
}

我也尝试将值设置为 0 而不是 "off"

我正在编写一个 React 应用程序可能相关也可能不相关,我在 WebStorm 中开发可能相关也可能不相关,但我包括这些事实以防万一。

我在 StackOverflow 上查了一下,找不到答案。

【问题讨论】:

  • 根据ESLint docs,文件名只是.eslintrc.js.eslintrc(已弃用),而不是.eslintrc.json; WebStorm 文档说它想要.eslintrc,所以我会尝试。不提交作为答案,因为我不使用 WebStorm 并且无法验证这是否可以解决您的问题。试一试,让我们知道!
  • 感谢您的建议。试过了。问题仍然存在。
  • 错误下方的注释不是来自 ESLint(错误是)。所以我假设你正在使用某种包装器,比如github.com/facebookincubator/create-react-app 这些包装器不使用 .eslintrc 文件,不能直接配置。您必须通读包装器的文档以了解如何禁用此规则。
  • @IlyaVolodin,我点击了您的链接,并根据那里的文档复制了我的项目以测试此策略。然后我跑了npm run eject。这确实让我能够配置 ESLint,包括 no-whitespace-before-property。目前我不会继续走这条路,因为我想继续使用自动构建操作,但至少现在我知道为什么基本的 ESLint-ing 不可配置。如果您想将您的评论写成简短的回答,我很乐意接受。

标签: javascript reactjs webstorm eslint


【解决方案1】:

错误下方的注释不是来自 ESLint(错误是)。所以我假设你正在使用某种包装器,比如 github.com/facebookincubator/create-react-app 这些包装器不使用 .eslintrc 文件,不能直接配置。您必须通读包装器的文档以了解如何禁用此规则。

一般来说,像 create-react-app、standard、xo 等 ESLint 包装器是专门为“正常工作”而设计的,因此消除了配置和微调样式/规则的能力。

【讨论】:

  • 我在此处复制原始问题之后的评论,以防读者错过,因为它与此答案相关:我关注了您的链接,并根据那里的文档制作了我的项目副本来测试这个策略。然后我跑了npm run eject。这确实让我能够配置 ESLint,包括no-whitespace-before-property。目前我不会继续走这条路,因为我想继续使用自动构建操作,但至少现在我知道为什么基本的 ESLint-ing 不可配置。
猜你喜欢
  • 2020-08-13
  • 1970-01-01
  • 2020-03-25
  • 2023-01-05
  • 2019-02-03
  • 2021-05-21
  • 2017-11-05
  • 2015-02-28
相关资源
最近更新 更多