跳转到内容

构建与部署

文档编写完成后,需要构建并部署到托管平台。本节介绍构建流程和主流免费托管平台的部署方法。

A:运行构建命令:

Terminal window
npm run build

这会在 dist/ 目录生成静态站点。Astro 会:

  1. 处理所有 Markdown/MDX 文件
  2. 生成带语法高亮的 HTML 页面
  3. 创建站点地图(sitemap-index.xml
  4. 构建搜索索引(Pagefind)
  5. 优化 CSS 和 JavaScript

本地预览构建结果:

Terminal window
npm run preview

A:对于静态文档站,以下平台提供性能出色的免费托管:

平台免费额度自定义域名自动部署适合
Vercel慷慨支持GitHub/GitLabAstro 项目(原生支持)
Cloudflare Pages无限支持GitHub/GitLab全球 CDN,无带宽限制
GitHub Pages1GB 存储支持仅 GitHub简单项目,开源
Netlify100GB 带宽支持GitHub/GitLab表单处理,边缘函数

A:Vercel 对 Astro 有一等支持:

  1. 连接仓库

    • 访问 vercel.com 并通过 GitHub 登录
    • 点击”New Project”并导入你的仓库
  2. 配置项目

    • Framework Preset: Astro
    • Build Command: npm run build
    • Output Directory: dist
  3. 部署:点击”Deploy”,Vercel 会自动构建并发布站点

每次推送到 main 都会触发自动重新部署。Pull Request 会获得预览 URL。

也可使用 Vercel CLI:

Terminal window
npm install -g vercel
vercel --prod

A:使用 GitHub Pages 需要调整 astro.config.mjs

export default defineConfig({
site: 'https://yourusername.github.io',
base: '/repo-name', // GitHub Pages 必需
integrations: [starlight({ /* ... */ })],
});

然后添加 GitHub Actions 工作流(.github/workflows/deploy.yml):

name: Deploy to GitHub Pages
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npm run build
- uses: actions/upload-pages-artifact@v3
with:
path: dist/
deploy:
needs: build
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4

在仓库 Settings → Pages → Source 中启用 GitHub Actions。

A:大多数托管平台支持自定义域名:

  1. 添加域名:在托管平台的控制台中添加(如 Vercel → Project Settings → Domains)
  2. 配置 DNS 记录:在域名注册商处设置:
记录类型名称
A@76.76.21.21(Vercel)
CNAMEwwwcname.vercel-dns.com
CNAMEdocscname.vercel-dns.com
  1. 等待传播(通常 5-30 分钟)
  2. HTTPS 由大多数平台自动配置

Q:面向国内用户的部署方案是什么?

Section titled “Q:面向国内用户的部署方案是什么?”

A:对于国内用户,考虑以下托管选项:

  • Cloudflare Pages:包括亚洲在内的良好 CDN 覆盖
  • 阿里云 OSS + CDN:国内最佳性能(需要 ICP 备案)
  • 腾讯云 COS + CDN:阿里云的替代方案(同样需要 ICP 备案)

注意:Vercel 和 GitHub Pages 从中国大陆访问可能较慢或不稳定。如果受众主要在国内,建议使用有 ICP 备案的国内托管方案。


正在开发商业 IoT 产品?

我们提供 ESP32 ODM 定制设计与制造服务。从原型到量产——编写这套教程的团队,可以和你一起实现。

联系我们 →