Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使eslint在Atom编辑器中工作_Javascript_Node.js_Atom Editor_Eslint_Eslint Config Airbnb - Fatal编程技术网

Javascript 无法使eslint在Atom编辑器中工作

Javascript 无法使eslint在Atom编辑器中工作,javascript,node.js,atom-editor,eslint,eslint-config-airbnb,Javascript,Node.js,Atom Editor,Eslint,Eslint Config Airbnb,在这一点上,我完全不知道如何使用Atom安装和运行ESLint。所以我将一步一步地发布一篇文章,如果有人能帮我完成这项工作,那将是非常棒的 原子:1.19.5 原子,林特2.2.0 原子,linter eslint 8.2.1 我已经卸载并重新安装了Atom插件,并且禁用了除Core和2 Linter中的插件之外的所有其他插件 npm列表-g--depth=0 所有全局安装: ├── create-react-app@1.0.4 ├── create-react-native-app@1

在这一点上,我完全不知道如何使用Atom安装和运行ESLint。所以我将一步一步地发布一篇文章,如果有人能帮我完成这项工作,那将是非常棒的

  • 原子:1.19.5
  • 原子,林特2.2.0
  • 原子,linter eslint 8.2.1
我已经卸载并重新安装了Atom插件,并且禁用了除Core和2 Linter中的插件之外的所有其他插件

  • npm列表-g--depth=0
所有全局安装:

├── create-react-app@1.0.4
├── create-react-native-app@1.0.0
├── eslint@4.6.1
├── express-generator@4.14.1
├── json-server@0.9.5
├── mocha@3.2.0
├── nodemon@1.11.0
├── npm@3.10.10
├── pushstate-server@2.2.1
├── react-native-cli@2.0.1
├── react-vr-cli@0.3.5
├── webpack@2.2.1
├── webpack-dev-server@2.3.0
└── yarn@0.21.3
以下是我在Atom项目中尝试使用eslint的步骤:

  • npm安装-g eslint
  • cd/into/project
  • eslint--init
  • ?您希望如何配置ESLint?>用户使用流行样式指南
  • ?您希望遵循哪种样式指南?>Airbnb
  • ?您是否使用React?>y
  • ?您希望配置文件采用什么格式?>JSON
  • 删除
    /node\u模块
  • npm安装

    /计划 /节点单元 .eslintrc.json index.js package.json

.eslintrc.json

{
  "extends": "airbnb"
}
{
  "name": "lint-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^4.6.1",
    "eslint-config-airbnb": "^15.1.0",
    "eslint-config-rallycoding": "^3.2.0",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.3.0"
  }
}
"devDependencies": {
  "eslint": "^4.6.1",
  "eslint-config-airbnb": "^15.1.0",
  "eslint-plugin-import": "^2.7.0",
  "eslint-plugin-jsx-a11y": "^5.1.1",
  "eslint-plugin-react": "^7.3.0"
}
package.json

{
  "extends": "airbnb"
}
{
  "name": "lint-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^4.6.1",
    "eslint-config-airbnb": "^15.1.0",
    "eslint-config-rallycoding": "^3.2.0",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.3.0"
  }
}
"devDependencies": {
  "eslint": "^4.6.1",
  "eslint-config-airbnb": "^15.1.0",
  "eslint-plugin-import": "^2.7.0",
  "eslint-plugin-jsx-a11y": "^5.1.1",
  "eslint-plugin-react": "^7.3.0"
}
index.js

这只是一个试图从
eslint

错误

[Linter]运行ESLint(开放开发人员控制台)时出错

规则“jsx-a11y/anchor has content”的配置无效:值“[object object]”没有(或多个)架构匹配。

  • 所以去了
Atom开发人员控制台中未出现任何错误。但是Atom编辑器中的Linter也没有发生任何变化。我会胡言乱语,什么也没发生

运行调试

  • DEBUG=eslint:*eslint.
调试结果:

Cannot find module 'eslint-config-airbnb'
Referenced from: /Users/user/development/lint-test/.eslintrc.json
Error: Cannot find module 'eslint-config-airbnb'
Referenced from: /Users/user/development/lint-test/.eslintrc.json
at ModuleResolver.resolve (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/util/module-resolver.js:74:19)
at resolve (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:515:25)
at load (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:584:26)
at configExtends.reduceRight.e (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:421:36)
at Array.reduceRight (native)
at applyExtends (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:403:28)
at loadFromDisk (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:556:22)
at Object.load (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config/config-file.js:592:20)
at Config.getLocalConfigHierarchy (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config.js:226:44)
at Config.getConfigHierarchy (/Users/user/.nvm/versions/node/v6.9.5/lib/node_modules/eslint/lib/config.js:180:43)
在这一点上,我假设它试图从全球而不是本地阅读

  • .eslintrc.json
    更新为
    “扩展”:“eslint config airbnb”,
现在再次没有任何事情发生,请再次运行调试

  • DEBUG=eslint:*eslint.
仍然找不到模块

  • 试着提出建议
此时,我仍在运行
无法找到模块'eslint config airbnb'

  • 跟随
  • 运行所有命令
新建本地包.json

{
  "extends": "airbnb"
}
{
  "name": "lint-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^4.6.1",
    "eslint-config-airbnb": "^15.1.0",
    "eslint-config-rallycoding": "^3.2.0",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.3.0"
  }
}
"devDependencies": {
  "eslint": "^4.6.1",
  "eslint-config-airbnb": "^15.1.0",
  "eslint-plugin-import": "^2.7.0",
  "eslint-plugin-jsx-a11y": "^5.1.1",
  "eslint-plugin-react": "^7.3.0"
}
  • npm安装-g eslint配置airbnb
新的全局模块

├── create-react-app@1.0.4
├── create-react-native-app@1.0.0
├── eslint@4.6.1
├── eslint-config-airbnb@15.1.0
├── eslint-plugin-import@2.7.0
├── UNMET PEER DEPENDENCY eslint-plugin-jsx-a11y@6.0.2
├── eslint-plugin-react@7.3.0
├── express-generator@4.14.1
├── install-peerdeps@1.1.3
├── json-server@0.9.5
├── mocha@3.2.0
├── nodemon@1.11.0
├── npm@3.10.10
├── pushstate-server@2.2.1
├── react-native-cli@2.0.1
├── react-vr-cli@0.3.5
├── webpack@2.2.1
├── webpack-dev-server@2.3.0
└── yarn@0.21.3
现在我可以运行
DEBUG=eslint:*eslint.
,并可以得到一些结果。然而,原子中从来没有运行过任何东西

结果:

/Users/user/development/lint-test/index.js
  1:1   error  Definition for rule 'jsx-a11y/href-no-hash' was not found  jsx-a11y/href-no-hash
  1:7   error  'config' is assigned a value but never used                no-unused-vars
  1:24  error  Unable to resolve path to module '../something'            import/no-unresolved
  1:39  error  Missing semicolon                                          semi

✖ 4 problems (4 errors, 0 warnings)
  1 error, 0 warnings potentially fixable with the `--fix` option.

在这一点上,我对如何让Atom实际使用eslint没有任何想法…

我决定重新开始,而不深入研究这个问题并找到具体的失败点

  • 删除全局节点模块
  • 删除所有非核心Atom插件和主题
  • 卸载Atom
  • 重新安装Atom
  • 仅安装ESLint和支持依赖项
这样我就可以毫无问题地运行ESLint。我的假设是插件或主题中存在冲突。从那里安装我的核心工具插件是成功的

取消选中ATOM的linter ESLint中的“使用全局ESLint安装”设置将使其正确