VSCode ESLint 插件 .eslintignore 文件不生效原因[转]

今天碰到个问题:

VSCode 资源管理器下加载多个项目(微前端多个微应用),每个项目下的 .eslintignore 配置并未生效,ESLint 插件针对已忽略的文件仍然会提示警告。

看到个 Issue:https://github.com/Microsoft/vscode-eslint/issues/238

猜到可能是因为 VSCode 无法识别每个项目下的 .eslintignore 文件所致,它默认只会识别根目录下这个文件。

于是将此文件复制到根目录下,一经测试确实生效了。

但这并不是好的解决方案。

又查了下ESLint插件的配置说明:https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

有一个配置项可以指定工作目录,eslint.workingDirectories

值有4种类型:

  1. [{ "mode": "location" }] 默认模式,取当前根目录。
  2. [{ "mode": "auto" }] 根据 package.json .eslintignore .eslintrc* 三个文件去确定一个工作目录,但是不太推荐使用,因为会导致一些意料不到的问题。
  3. string[] 手动指定目录列表,可以用,但是要经常维护
  4. [{ "pattern": "./packages/*/" }] 最好的解决方案,通过正则匹配,特别适合 monorepo 项目结构。

最终我采用了方案 4,搞定。

版权声明

本博客所有的转载文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者可乐爸和本文原始地址:https://juejin.cn/post/6844904135733706760

发表评论

您的电子邮箱地址不会被公开。