【发布时间】: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.json 为npm 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