部署到 Cloudflare Pages
本项目输出纯静态站点,已准备好 Cloudflare Pages 构建设置。当前没有替你创建远程仓库、发布站点或绑定域名。
先构建预览
cd ~/Projects/zephyr-docs
npm ci
npm run build
npm run serve -- --host 127.0.0.1
发布产物是 build/。不要把 node_modules/ 或 .docusaurus/ 上传为站点。
连接 Git 仓库
将项目目录的内容提交到自己的仓库,再在 Cloudflare 创建 Pages 项目并连接该仓库。这里的项目根目录指含有 package.json 的目录:
| 设置 | 值 |
|---|---|
| Framework preset | Docusaurus |
| Build command | npm run build |
| Build output directory | build |
| Root directory | 若仓库根就是本项目则留空;单体仓库填实际子目录 |
| Node 版本 | 24.18.0,与 .nvmrc 一致,可设置 NODE_VERSION |
环境变量 SITE_URL | 真实 HTTPS 域名,例如 https://notes.example.org,示例需替换 |
当前配置按 SITE_URL → CF_PAGES_URL → https://example.com 的顺序确定站点 URL。最后一个值仅用于本地构建;正式发布设置真实域名并重新构建,保证 canonical 与 sitemap 正确。
.env.example 是变量说明;本站没有额外安装 dotenv,本地需要用 shell 或 Pages 控制台注入变量。例如:
SITE_URL=https://notes.example.org npm run build
绑定域名
先确认 pages.dev 预览可用,再进入 Pages 项目的 Custom domains 添加域名。根域名通常需要由 Cloudflare 管理该域的 DNS;子域名按控制台提示配置 CNAME。应先在 Pages 中关联域名,再设置要求的 DNS 记录。
域名生效后,将生产环境 SITE_URL 更新为最终 HTTPS 域名并重新部署。预览环境可以不设该变量,让它使用 CF_PAGES_URL。
上线检查
- 首页、文档、LOGO 正常,手机端无横向溢出。
- 直接访问或刷新
/docs/esp32/hello-world/正常。 - 不存在的路径显示 404;不要添加把所有路径重写到首页的 SPA 规则。
-
/sitemap.xml和页面 canonical 使用真实域名。 -
/reference/zephyr-v4.2.0/LICENSE.txt可访问。 - HTTPS 证书及域名解析正常。