为什么eslint无法检测目录中的所有文件,但可以检测单个文件?

时间:2017-03-05 07:51:20

标签: javascript npm eslint

这是我的目录结构。

enter image description here

我想配置一些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目录中的所有文件。

但遗憾的是,没有输出。

enter image description here

我不知道为什么。我想也许我写了错误的配置项。但是在我编写npm脚本"lint": "eslint src/component/App.jsx"后,eslint可以工作。

那么问题出在哪里? Eslint可以很好地检测单个文件,但它无法检测到某个目录中的所有文件。

enter image description here

1 个答案:

答案 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