这是我的目录结构。
我想配置一些eslint规则来检测我的代码。
在.eslintrc
中,我编写了这些配置项。
{
"extends": "airbnb",
"rules": {
"valid-jsdoc": 2,
// Disable until Flow supports let and const
"no-var": 0,
"react/jsx-uses-react": 1,
"react/jsx-no-undef": 2,
"react/wrap-multilines": 2,
"func-names": 0,
"new-cap": 0,
"no-undef": 0,
},
"plugins": [
"react"
]
}
我使用npm脚本来运行eslint。
"scripts": {
"lint": "eslint src"
},
通常,当我运行npm run lint
时,它会检测src
目录中的所有文件。
但遗憾的是,没有输出。
我不知道为什么。我想也许我写了错误的配置项。但是在我编写npm脚本"lint": "eslint src/component/App.jsx"
后,eslint可以工作。
那么问题出在哪里? Eslint可以很好地检测单个文件,但它无法检测到某个目录中的所有文件。
答案 0 :(得分:12)
当您运行Node
时,默认情况下会查找扩展名为eslint src
的所有文件。我认为在你的情况下你想把命令改为.js
。这将查找具有eslint src --ext .js,.jsx
和/或src
扩展名的.js
内的所有文件。 (个人推荐)
如果您想使用glob来解决此问题,那么您可以将cmd更改为.jsx
CLI文档:http://eslint.org/docs/user-guide/command-line-interface
全球模式有助于:http://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories