我在VS Code中使用eslint。可以找到here的eslint配置。
我的开发环境使用ESLint v3.10.2,Node.js v5.4.1,npm v3.3.12和VS Code v1.7.2。
问题是,当我用.js
文件打开VS代码时,我可以看到如下所示的输出日志,
[Info - 11:36:58 AM] ESLint server is running.
[Info - 11:37:00 AM] ESLint library loaded from: X:\path-to-source\Source\node_modules\eslint\lib\api.js
[Error - 11:37:03 AM] Cannot read config file: X:\package.json Error: Cannot read config file: X:\package.json Error: Unexpected token : in JSON at position 9
eslint服务器能够运行,但无法从当前根文件夹中读取package.json
文件。相反,它会尝试从驱动器的根目录加载package.json
,即X:
为了确保问题不在VS Code插件中,我尝试使用eslint CLI lint文件,但失败并出现相同的错误。
$ eslint app/**
Cannot read config file: X:\package.json
Error: Cannot read config file: X:\package.json
Error: Unexpected token :
SyntaxError: Cannot read config file: X:\package.json
Error: Cannot read config file: X:\package.json
Error: Unexpected token :
at Object.parse (native)
at loadJSONConfigFile (A:\use folder\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:120:21)
我无法弄清楚为什么eslint在驱动器package.json
的根目录而不是当前工作目录中寻找X:
。
答案 0 :(得分:3)
ESLint使用configuration cascade,这意味着它尽可能地遍历,并且随着时间的推移合并配置。在您的工作目录.eslintrc
中,您可以添加{ "root": true }
以限制ESLint的配置搜索到您的工作目录中。