1872  字
  9  分钟 
  Netlify 部署完全指南 
 Netlify 部署完全指南
目录
Netlify 概述
Netlify 是一个专为现代 Web 开发而设计的云平台,提供静态网站托管、无服务器函数、表单处理等功能。它以简单易用、功能强大著称,特别适合 JAMstack 架构的项目。
核心功能
- Git 集成:连接 GitHub, GitLab, Bitbucket 仓库,实现自动部署。
 - 全球 CDN:自动将您的站点分发到全球边缘网络,提供快速访问。
 - 无服务器函数:支持 Netlify Functions,轻松部署后端逻辑。
 - 表单处理:内置表单处理功能,无需后端即可收集用户数据。
 - 分支部署:为每个 Git 分支创建独立的部署预览。
 - 免费额度:提供慷慨的免费套餐,适合个人和小型项目。
 
准备工作
在开始部署之前,请确保您已经:
- 拥有一个 Netlify 账户:您可以直接使用 GitHub, GitLab 或 Bitbucket 账户注册。
 - 拥有一个网站项目:确保您的项目在本地可以正常构建和运行。
 - 将项目推送到 Git 仓库(可选):如果使用 Git 集成部署,需要将代码推送到远程仓库。
 
部署模式
Netlify 支持多种部署方式:
| 特性 | Git 集成 (推荐) | 拖拽部署 | Netlify CLI | 
|---|---|---|---|
| 触发方式 | git push | 手动拖拽文件夹 | 手动运行命令 | 
| 自动化程度 | 高 | 低 | 中等 | 
| 分支部署 | 自动为分支创建预览 | 不支持 | 支持 | 
| 配置复杂度 | 简单,一次性设置 | 最简单 | 中等 | 
| 适用场景 | 持续集成和部署 (CI/CD) | 快速原型、静态文件 | 开发测试、自动化脚本 | 
通过 Git 集成自动部署
这是最推荐的方式,可以实现完全自动化的持续部署。
步骤 1:新建站点
- 登录 Netlify 控制台。
 - 点击 “New site from Git”。
 - 选择您的 Git 提供商(GitHub, GitLab, Bitbucket)并授权 Netlify 访问。
 - 选择要部署的仓库。
 
步骤 2:配置构建设置
Netlify 会尝试自动检测您的项目类型并配置构建设置:
- Branch to deploy: 选择要部署的分支(通常是 
main或master)。 - Build command: 构建命令,如 
npm run build、yarn build等。 - Publish directory: 构建输出目录,如 
dist、build、public等。 
常见框架的配置示例:
React (Create React App)
Build command: npm run buildPublish directory: buildVue.js
Build command: npm run buildPublish directory: distAstro
Build command: npm run buildPublish directory: distNext.js (静态导出)
Build command: npm run build && npm run exportPublish directory: out步骤 3:部署
确认配置无误后,点击 “Deploy site”。Netlify 将开始第一次构建和部署。
自动更新
配置完成后,每当您向指定分支推送新的提交时,Netlify 都会自动触发重新构建和部署。
通过拖拽部署
这是最简单的部署方式,适合静态文件或已经构建好的项目。
步骤:
- 在本地构建您的项目(如运行 
npm run build)。 - 登录 Netlify 控制台。
 - 将构建输出文件夹直接拖拽到 Netlify 的部署区域。
 - Netlify 会自动上传并部署您的站点。
 
注意事项:
- 这种方式不支持自动更新,每次更改都需要手动重新拖拽。
 - 适合快速原型或一次性部署。
 
通过 Netlify CLI 部署
Netlify CLI 提供了命令行部署功能,适合自动化脚本和开发测试。
步骤 1:安装 Netlify CLI
npm install -g netlify-cli步骤 2:登录
netlify login步骤 3:初始化项目
在项目根目录运行:
netlify init步骤 4:部署
# 部署到预览环境netlify deploy
# 部署到生产环境netlify deploy --prod环境变量配置
Netlify 支持多种方式配置环境变量。
在 Netlify 控制台中配置
- 进入您的站点设置。
 - 点击 “Environment variables”。
 - 添加您的环境变量键值对。
 
在 netlify.toml 中配置
在项目根目录创建 netlify.toml 文件:
[build.environment]  NODE_VERSION = "18"  NPM_VERSION = "8"
[context.production.environment]  API_URL = "https://api.example.com"
[context.deploy-preview.environment]  API_URL = "https://staging-api.example.com"自定义域名
Netlify 提供了简单的域名配置功能。
步骤:
- 进入站点设置的 “Domain management”。
 - 点击 “Add custom domain”。
 - 输入您的域名。
 - 根据提示配置 DNS 记录:
- 子域名:添加 CNAME 记录指向您的 Netlify 站点 URL。
 - 根域名:添加 A 记录指向 Netlify 的 IP 地址。
 
 - Netlify 会自动为您的域名配置 SSL 证书。
 
表单处理
Netlify 提供了内置的表单处理功能,无需后端即可收集用户数据。
基本用法:
<form name="contact" method="POST" data-netlify="true">  <p>    <label>姓名: <input type="text" name="name" /></label>  </p>  <p>    <label>邮箱: <input type="email" name="email" /></label>  </p>  <p>    <label>消息: <textarea name="message"></textarea></label>  </p>  <p>    <button type="submit">发送</button>  </p></form>添加验证码:
<form name="contact" method="POST" data-netlify="true" data-netlify-recaptcha="true">  <!-- 表单字段 -->  <div data-netlify-recaptcha="true"></div>  <button type="submit">发送</button></form>最佳实践
1. 使用 netlify.toml 配置文件
在项目根目录创建 netlify.toml 来管理构建和部署配置:
[build]  publish = "dist"  command = "npm run build"
[build.environment]  NODE_VERSION = "18"
[[redirects]]  from = "/*"  to = "/index.html"  status = 2002. 配置重定向规则
对于单页应用(SPA),配置重定向规则以支持客户端路由:
[[redirects]]  from = "/*"  to = "/index.html"  status = 2003. 优化构建性能
- 使用缓存:Netlify 会自动缓存 
node_modules。 - 设置合适的 Node.js 版本。
 - 使用 
netlify-plugin-cache插件缓存其他依赖。 
4. 利用分支部署
为不同的分支配置不同的部署环境:
[context.production]  command = "npm run build:prod"
[context.deploy-preview]  command = "npm run build:preview"
[context.branch-deploy]  command = "npm run build:dev"5. 监控和分析
- 启用 Netlify Analytics 监控站点性能。
 - 使用 Netlify 的构建日志调试部署问题。
 - 设置部署通知,及时了解部署状态。
 
常见问题
Q1: 构建失败,提示找不到命令?
解决方案:
- 检查 
package.json中是否定义了构建脚本。 - 确认构建命令在 Netlify 配置中正确设置。
 - 检查 Node.js 版本是否兼容,可在 
netlify.toml中指定版本。 
Q2: 单页应用刷新页面出现 404 错误?
解决方案:
添加重定向规则到 netlify.toml:
[[redirects]]  from = "/*"  to = "/index.html"  status = 200Q3: 环境变量在客户端无法访问?
解决方案:
- 确保环境变量名有正确的前缀(如 React 需要 
REACT_APP_)。 - 检查变量是否在正确的部署上下文中配置。
 - 重新部署以应用新的环境变量。
 
Q4: 表单提交后没有收到数据?
解决方案:
- 确保表单包含 
data-netlify="true"属性。 - 检查表单的 
name属性是否设置。 - 在 Netlify 控制台的 “Forms” 部分查看提交的数据。
 
Q5: 自定义域名配置后无法访问?
解决方案:
- 检查 DNS 记录是否正确配置。
 - 等待 DNS 传播完成(通常需要几分钟到几小时)。
 - 确保域名没有被其他服务占用。
 
总结
Netlify 为现代网站项目提供了简单而强大的部署解决方案。通过其 Git 集成、表单处理、无服务器函数等功能,您可以快速构建和部署功能完整的 Web 应用。
关键要点:
- 优先使用 Git 集成实现自动化部署。
 - 利用 
netlify.toml配置文件管理项目设置。 - 充分利用 Netlify 的内置功能(表单处理、重定向等)。
 - 为不同环境配置相应的构建和部署策略。
 - 定期监控站点性能和构建状态。
 
如有其他问题,请参考 Netlify 官方文档或您所使用框架的部署指南。
 Netlify 部署完全指南 
  https://mizuki.mysqil.com/posts/netlify-deployment-guide/