项目结构如下:
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,问题解决。
参考文档:
https://stackoverflow.com/questions/57879267/create-react-app-subfolder-projects-do-not-lint