You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESLint仍检查已忽略文件求助:dist目录忽略规则失效原因

ESLint Flat Config中配置块内ignores失效的原因

问题场景

我的eslint.config.mjs配置如下:

import ts from 'typescript-eslint';

export default ts.config(
{
  files: ['**/*.{js,ts,vue}'],
  ignores: ['**/dist/**/*',]
}

在配置文件所在目录执行npx eslint时,却收到了dist\xyz\mySite.js的报错:

dist\xyz\mySite.js
error  Rule "func-names" is already configured by another configuration comment in the preceding code. This configuration is ignored

按道理dist目录应该被忽略,但它还是被检查了。改用仅包含{ignores: ['**/dist/']}的全局忽略配置后就正常生效了,请问前者的忽略配置为什么会失效?

原因说明

  1. 配置作用域差异
    在ESLint的Flat Config系统中,配置块内的ignores是局部生效的——它只会从当前配置块的files匹配结果中排除指定路径,而非全局范围内排除。也就是说,你这个带files的配置块确实不会检查dist里的文件,但ESLint的其他配置(包括默认的隐式基础配置)并没有排除dist目录,这些配置依然会对dist下的文件执行检查,所以你还是会看到报错。

  2. 全局ignores的作用
    当你把ignores放在不带files的顶层配置对象中时,它是全局生效的,会从整个ESLint的检查范围内彻底排除指定路径,所有配置块都不会再处理这些路径,因此能正确忽略dist目录。

另外提个小细节:你配置里的ignores数组最后多了个冗余逗号,虽然不影响运行,但建议清理掉,保持代码整洁。

内容的提问来源于stack exchange,提问作者GarfieldKlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:02:39