项目结构如下:
root/
client/
.eslintrc.js
package.json
出现问题描述:
- 当使用vs code打开root目录时,eslint并不生效
- 当使用vs code打开client目录时,eslint正常工作
查阅各种文档后,发现vs code的eslint插件有关于这个的配置项,只有2.0.0以后的版本支持哦
eslint.workingDirectories
-
[{ "mode": "location" }]
-
默认的配置,只会找项目目录下的eslint配置,也就是root
-
[{ "mode": "auto" }]
-
自动,这个会自动寻找项目文件夹下的eslint配置文件,最傻瓜的配置
"eslint.workingDirectories": [{ "mode": "auto" }]
-
string[]
-
手动配置,通过手动配置项目的文件夹目录
-
"eslint.workingDirectories": [ "./client" ] -
[{ "pattern": glob pattern }]
-
匹配表达式,匹配某个文件内多个项目,例如:
-
"eslint.workingDirectories": [{ "pattern": "./packages/*/" }]
我们通过第二三四种都可以解决问题。
我们打开vs code的设置,找到eslint Working Directories,点Edit in setting.json
保存之后,重启vs code,问题解决。
参考文档: