.gitignore для Node.js / Frontend
Готовый
.gitignoreдля Node.js и frontend-проектов — исключаетnode_modules, build-артефакты, env-файлы и системный мусор.
Задача
Новый проект нужно сразу защитить от случайного коммита node_modules, скомпилированных файлов и секретов. Вручную перечислять всё — долго; лучше использовать проверенный шаблон.
Решение
# Зависимости
node_modules/
.pnp
.pnp.js
# Сборка
dist/
build/
out/
.next()/
.nuxt/
.vite/
# Кэш инструментов
.cache/
.parcel-cache/
.eslintcache
.stylelintcache
# Окружение и секреты
.env
.env.local
.env.*.local
*.pem
# Логи
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Тесты / покрытие
coverage/
.nyc_output/
# Редакторы
.vscode/settings.json
.idea/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# OS
.DS_Store
Thumbs.db
# TypeScript
*.tsbuildinfo
# Yarn v2+
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
Добавить в проект:
curl -o .gitignore https://www.toptal.com/developers/gitignore/api/node,react,vue
# или вручную — скопировать шаблон выше
Ключевые моменты
node_modules/— никогда не коммитится; восстанавливается черезnpm install..env— содержит секреты; добавляй.env.exampleс заглушками для документирования переменных.- Build-папки (
dist/,build/) нужны в.gitignore, если их генерирует CI/CD. .DS_StoreиThumbs.db— мусор macOS/Windows, бесполезен в репозитории.
Варианты
- gitignore.io — генератор под конкретный стек:
https://www.toptal.com/developers/gitignore. - GitHub шаблоны — при создании репо через UI можно выбрать готовый шаблон Node.
- Global gitignore —
~/.gitignore_globalдля системных файлов, чтобы не дублировать в каждом проекте.
Когда НЕ использовать
- Если в
dist/коммитится готовая библиотека для npm — исключиdist/из.gitignore. - Монорепо со своей структурой могут требовать отдельных
.gitignoreв каждом пакете.