在将代码上传到 Gitee(或 GitHub、GitLab 等)时,node_modules
文件夹是必须忽略的,因为它:
- 体积巨大(几 MB 到几百 MB)
- 可以通过
package.json
和npm install
自动生成 - 包含平台相关二进制文件,跨平台不兼容
- 容易引发冲突
✅ 正确做法:使用 .gitignore
文件忽略 node_modules
第一步:创建 .gitignore
文件
在你的项目根目录 下(和 package.json
同级),创建一个名为 .gitignore
的文件。
注意:文件名是
.gitignore
(以点开头),没有扩展名。
第二步:写入要忽略的内容
打开 .gitignore
文件,添加以下内容:
lua
gitignore
深色版本
# 忽略 node_modules 文件夹
node_modules/
# 其他常见需要忽略的文件(可选)
npm-debug.log
yarn-error.log
yarn-debug.log
.pnpm-debug.log
# 环境变量文件(敏感信息!)
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# IDE 和编辑器生成的文件
.DS_Store
Thumbs.db
*.swp
*.swo
.vscode/
.idea/
*.log
# 构建输出目录(如果你有构建过程)
dist/
build/
out/
.next/
nuxt/
🔥 最关键的一行就是:
node_modules/
第三步:确保 Git 未追踪 node_modules
如果你已经执行过 git add .
或提交过 node_modules
,需要先从 Git 中移除它(但保留本地文件):
bash
bash
深色版本
# 从 Git 缓存中删除 node_modules(不会删除本地文件)
git rm -r --cached node_modules
# 提交更改
git commit -m "Remove node_modules from version control"
然后再继续后续操作。
第四步:正常提交代码
csharp
bash
深色版本
git add .
git commit -m "feat: add project with .gitignore"
git push origin main # 或 master
此时 node_modules
就不会被上传了。
✅ 额外建议
- 使用模板 :你可以使用 www.toptal.com/developers/... 生成适合 Node.js 项目的
.gitignore
。 - Gitee/GitHub 自动识别 :新建仓库时,可以选择"Node"模板,它会自动帮你生成
.gitignore
。 - 团队协作 :
.gitignore
文件要提交到仓库,让所有开发者都遵循相同的规则。
✅ 示例项目结构
go
深色版本
my-project/
├── .gitignore ← 已配置忽略 node_modules
├── package.json ← 包含依赖声明
├── package-lock.json ← 锁定版本(建议提交)
├── server.js
├── routes/
├── controllers/
└── node_modules/ ← 不会被上传!
✅ 总结一句话:
在项目根目录创建
.gitignore
文件,并写入node_modules/
,即可阻止 Git 上传该文件夹。
这样你的 Gitee 仓库就会干净、轻量、安全!