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

Lint-staged针对被忽略的Storybook配置文件抛出ESLint警告

解决方案

核心原因

ESLint默认会忽略以.开头的隐藏目录(比如.storybook),虽然你在.eslintignore中添加了否定规则,但lint-staged在直接传递文件路径给ESLint时,ESLint的默认忽略逻辑仍可能触发该警告——这是因为lint-staged的文件传递方式和直接运行yarn lint时的扫描逻辑存在差异。

可行解决办法

1. 在lint-staged命令中直接添加忽略覆盖参数

修改package.json中的lint-staged配置,在ESLint命令里显式加入--ignore-pattern '!.storybook/**',强制ESLint处理该目录下的文件:

{
  "lint-staged": {
    "**/*.{js,jsx,ts,tsx}": [
      "eslint --ignore-pattern '!.storybook/**'",
      "yarn test:unit"
    ]
  }
}

2. 调整.eslintignore的规则写法

将你原来的!./storybook/*替换为!.storybook/**:

  • *仅匹配目录下的一级文件,**会匹配目录下所有子文件和子目录
  • 去掉多余的./,ESLint忽略路径默认以项目根目录为基准

3. 在ESLint配置文件中设置ignorePatterns

在你的ESLint配置文件(如.eslintrc.js或.eslintrc.json)中添加否定规则,直接覆盖ESLint的默认忽略:

module.exports = {
  // 其他配置项
  ignorePatterns: [
    // 保留你原本的忽略规则,比如:
    "node_modules/",
    "dist/",
    // 添加否定规则
    "!.storybook/**"
  ]
}

4. 验证配置

运行npx lint-staged --debug查看lint-staged的处理日志,确认.storybook/main.js被正确传递给ESLint,且没有触发忽略警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:14:58