Claude Code - 排除读取 node_modules
2026-02-02 本文已影响0人
_浅墨_
下面给几种“有效且推荐”的排除方式,按优先级 & 实战效果排序。
✅ 最推荐:使用 .claudeignore(官方支持,最干净)
Claude Code 原生支持类似 .gitignore 的忽略文件。
1️⃣ 在项目根目录创建 .claudeignore
touch .claudeignore
2️⃣ 写入忽略规则
# dependencies
node_modules/
**/node_modules/
# build outputs
dist/
build/
.next/
.out/
# cache
.cache/
.turbo/
# logs
*.log
# env
.env
.env.*
👉 这是 Claude Code 最优解
- 不会被读取
- 不进入上下文
- 不消耗 token
- 比 prompt 里说「不要读 node_modules」靠谱得多
✅ 强烈建议:配合 .gitignore(Claude 会参考)
Claude Code 会参考 .gitignore(不是 100%,但很大程度有效)
确保你有:
node_modules/
💡 经验结论:
.claudeignore>.gitignore> prompt 提示- 三者一起用,最稳
⚠️ 不推荐但可兜底:在 Prompt / CLAUDE.md 中声明
如果你暂时不能建 .claudeignore,可以作为补充:
CLAUDE.md(项目级)
## Context Rules
- NEVER read or analyze files under `node_modules/`
- Treat `node_modules` as excluded from context
- If information is needed, infer from package.json instead
但注意 ⚠️
Prompt ≠ 强制规则
Claude 仍可能在必要时扫到(尤其是递归分析时)
🧠 进阶:只让 Claude 看「白名单目录」
如果你是 PostRelay / 工程型项目,我更推荐 反向思路:
.claudeignore(白名单策略)
# ignore everything
*
# allow core dirs
!src/
!apps/
!packages/
!lib/
!package.json
!pnpm-lock.yaml
!README.md
!CLAUDE.md
🎯 效果:
- 上下文极度干净
- token 消耗最小
- Claude 行为更“像工程师”
🚀 你的场景建议(结合你现在的项目)
结合你目前在做 PostRelay / Web App / AI 工程流,我建议你:
最低配置(必做)
.claudeignore + node_modules/
进阶配置(省额度版)
.claudeignore + 白名单策略 + CLAUDE.md
✅ 推荐你的最终组合(我给你选好)
我会给你这个组合:
.claudeignore ✅(白名单版)
CLAUDE.md ✅(pnpm 行为约束)
.gitignore ✅(基础)