菜单

Web 开发模板

相关源文件

目的与范围

本文档提供了针对 Web 开发技术、框架和工具的 gitignore 模板的概述。这些模板通过将依赖项目录、构建工件、环境配置和缓存等非必需文件排除在版本控制之外,帮助 Web 开发人员维护整洁的代码库。

有关特定 Web 技术的详细信息,请参阅

有关特定于 Web 开发的通用编程语言模板,请参阅编程语言模板

Web 开发生态系统概述

Web 开发涉及广泛的技术,每种技术都会生成特定文件,这些文件通常应排除在版本控制之外。gitignore 存储库为最常见的 Web 开发框架和工具提供了模板。

来源:Node.gitignore Rails.gitignore Sass.gitignore Typo3.gitignore

Web 开发中常见的排除模式

Web 开发项目通常会生成几种文件类别,这些文件应排除在版本控制之外。下表总结了 Web 开发 gitignore 模板中最常见的模式

类别描述常见模式示例
依赖项外部库和包node_modules/, vendor/, bower_components/Node.gitignore41-43 Rails.gitignore33-34
构建产物生成的文件和分发文件dist/, build/, .next/, .nuxt/Node.gitignore86-92
环境变量包含敏感数据的配置.env*, config/master.keyNode.gitignore75-80 Rails.gitignore20-30
缓存目录各种缓存系统.cache/, .sass-cache/Node.gitignore82-84 Sass.gitignore1
日志调试和错误日志*.log, npm-debug.log*Node.gitignore1-8 Rails.gitignore14-18
覆盖率报告测试覆盖数据coverage/, .nyc_output/Node.gitignore22-27 Rails.gitignore8
编辑器/IDE 文件特定于编辑器的配置.vscode-test/Node.gitignore128-129

来源:Node.gitignore Rails.gitignore Ruby.gitignore Sass.gitignore Typo3.gitignore

Web 开发中的构建工具工件

不同的 Web 开发生态系统使用特定的构建工具和包管理器,每种工具都会生成自己的文件集,这些文件通常应排除在版本控制之外。下图说明了主要 Web 框架及其构建工件之间的关系

来源:Node.gitignore1-8 Node.gitignore41-43 Node.gitignore50-52 Rails.gitignore14-18 Rails.gitignore33-34 Rails.gitignore56-64 Typo3.gitignore7-23 Sass.gitignore

特定于框架的模式

Node.js 和 JavaScript

由于工具和框架的多样化生态系统,Node.js 项目拥有广泛的 gitignore 要求。主要模式包括:

  • 包管理器目录: node_modules/, jspm_packages/, bower_components/
  • 构建输出: .next, .nuxt, dist/
  • 缓存目录: .npm, .cache/, .parcel-cache/
  • 各种静态站点生成器的框架特定输出

来源: Node.gitignore41-43 Node.gitignore86-92 Node.gitignore82-84 Node.gitignore100-115

Ruby on Rails

Rails 应用程序会生成几种应被排除的文件类型

  • Bundle 目录: /.bundle, /vendor/bundle
  • 数据库文件: /db/*.sqlite3*
  • 生成的资源: /public/assets, /public/packs
  • 密钥和令牌: config/master.key, config/initializers/secret_token.rb

来源: Rails.gitignore4-6 Rails.gitignore20-25 Rails.gitignore33-34 Rails.gitignore56-64

基于 PHP 的 Web 平台

TYPO3 等 PHP 框架具有独特的排除模式

  • 缓存目录: /typo3temp/, /typo3conf/temp_*
  • 上传目录: /uploads/, /fileadmin/user_upload/
  • 系统文件和符号链接: /typo3, /typo3_src

来源: Typo3.gitignore2-23

环境配置与机密信息

Web 应用程序通常使用环境变量进行配置,特别是对于 API 密钥和数据库凭据等敏感信息。这些绝不应提交到版本控制中。

框架环境文件密钥目的
Node.js.env, .env.local, .env.development.local不适用环境配置
Rails.env, .env*.localconfig/master.key, config/secrets.yml凭证加密
PHP/TYPO3不适用/typo3conf/ENABLE_INSTALL_TOOL安装配置

来源: Node.gitignore75-80 Rails.gitignore20-30 Typo3.gitignore11

Web 资源处理

现代 Web 开发涉及预处理和打包资源,生成应被排除的中间文件

  • CSS: .sass-cache/, *.css.map, *.sass.map, *.scss.map
  • JavaScript: .rpt2_cache/, .rts2_cache_*/
  • 通用: .cache/, .parcel-cache/, .grunt

这些文件要么在构建过程中被重新创建,要么仅对本地开发有用。

来源: Sass.gitignore Node.gitignore29-30 Node.gitignore60-64 Node.gitignore82-84

测试和覆盖率报告

Web 开发项目经常生成应被排除的测试报告和覆盖率数据

  • JavaScript: coverage/, .nyc_output/
  • Ruby: /coverage/, /spec/tmp, rerun.txt
  • 通用: *.lcov, spec/reports/

来源: Node.gitignore22-27 Rails.gitignore8-9 Ruby.gitignore4-10

与开发工作流程的集成

以下图表说明了 gitignore 模板如何与典型的 Web 开发工作流程集成

来源: Node.gitignore41-43 Rails.gitignore33-34 Node.gitignore75-80 Rails.gitignore20-30 Node.gitignore86-92 Rails.gitignore56-64 Node.gitignore22-27

Web开发 Gitignore 文件最佳实践

当为 Web 开发项目使用提供的模板时

  1. 必要时组合模板 - 对于使用多种技术(例如,带有 Node.js 前端的 Rails)的项目,请组合每个模板中相关的模式
  2. 将环境变量保存在本地 - 始终排除包含敏感信息的 .env 文件及类似配置文件
  3. 考虑 Docker 卷 - 如果在开发中使用 Docker,请排除 Docker 卷和容器数据
  4. 平衡依赖管理 - 根据您的开发工作流程,考虑是否包含包锁定文件(package-lock.jsonyarn.lockGemfile.lock
  5. 定期审查 - 随着框架的发展,可能需要排除新的文件模式

来源: Node.gitignore Rails.gitignore Ruby.gitignore

结论

Web 开发 gitignore 模板通过排除依赖项、构建产物、环境配置和临时文件,提供了保持仓库整洁的关键模式。通过确保只跟踪必需的源代码,这些模板有助于在 Web 开发项目中维护高效的版本控制实践。

有关特定 Web 技术的更详细信息,请参阅 Node.js 和 JavaScript 框架Ruby on RailsPHP 框架和 CMS 的专用页面。