ESLint 配置问题

ESLint configuration woes

我正在尝试使用 eslint 工作流程。我已经通过 nvm 安装了 Node,并且全局安装了 nessary 插件:

├── babel-eslint@6.0.2
├── eslint@2.7.0
├── eslint-config-angular@0.5.0
├── eslint-config-semistandard@6.0.1
├── eslint-config-standard@5.1.0
├── eslint-plugin-angular@1.0.0
├── eslint-plugin-promise@1.1.0
├── eslint-plugin-standard@1.3.2
├── npm@3.8.3
├── standard@6.0.8

在我的本地项目中:

"devDependencies": {
"eslint": "2.7.0",
"eslint-config-angular": "0.5.0",
"eslint-config-standard": "5.1.0",
"eslint-config-semistandard": "6.0.1",
"eslint-plugin-angular": "1.0.0",
"eslint-plugin-promise": "1.1.0",
"eslint-plugin-standard": "1.3.2"
},

并且我在我的项目根目录中设置了一个 .eslintrc.json 文件:

{
"env": {
  "browser": 1
},
"extends": "semistandard",
"plugins": [
    "standard","angular"
],
"globals": {
  "angular": 1,
  "$": 1,
  "angularDragula": 1
 }
}

Atom ESlint 和标准格式化程序插件找到并尊重我的配置文件,但它不是命令行或 Sublime Linter。它不读取配置,所以我收到错误标记:

这很明显它没有读取设置。我在这里做错了什么?正如我所说,它适用于 Atom 但不适用于命令行或 Sublime(使用命令行选项)。

我建议不要使用全局安装的 ESLint。如果你想 运行 它来检查项目中的文件,你可以使用:

node_modules/.bin/eslint feedback-alerts.controller.js

或者,更好的是,为任务创建一个 npm script。在您的 package.json 中,您可以添加:

"scripts": {
    "lint": "eslint feedback-alerts.controller.js"
}

此外,看起来您使用的配置文件不在您的项目根目录中(~/.eslintrc.json 在您的用户根目录中,而不是项目根目录中)。 ESLint 将进行自己的配置解析,因此除非在高级情况下,否则您不必指定配置文件的路径。