部署与更新
怎么把文件传上去
先说实话:Cloudflare Pages 的「上传」是一次完整部署,没有文件级补丁。但你不用每次重传整个项目——只传 dist/,大约 100 KB。
第一次:上传整个站点
已经有 zhzwiki 这个项目的话,这一步可以跳过。
- Workers and Pages → 创建 → Pages
- Upload assets,项目名填
zhzwiki - 拖
zhz-wiki-pages.zip或dist/,点 Deploy
以后:不要重传整个项目
Cloudflare 的直接上传没有「只传改动的文件」这种补丁,每次部署是一个新版本。但有两个办法让你不用碰整个文件夹:
方法 A:一条命令(推荐)
第一次登录,以后每次一条命令:
# 第一次 npx wrangler login # 以后每次更新 npm run deploy
npm run deploy 会先 build,再把 dist/ 传上去;只传站点文件,不碰 content,也不用打 zip。dist 约 100 KB。
方法 B:GitHub 自动部署(更像补丁)
一次性设置:把项目推到 GitHub,在仓库的 Settings → Secrets and variables → Actions 里加两个 Secrets:CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID。之后只要往 content/ 里提交一个 .md 就行。
工作流文件已经放在 .github/workflows/deploy.yml,分支名默认 main。你只提交一个文件;Cloudflare 那边还是会生成一个新版本,但不用你手动上传任何东西。
写一篇新文章
打开 写文章,填好标题、时间、正文,下载 .md,放进 content/,再用方法 A 或 B 更新。
时间精确到分钟,会写进 front matter;列表按时间排序。未来时间也会立即出现,静态站没有定时发布。
常见问题
- 为什么不能只传一个文件?
- Cloudflare Pages 的部署是原子替换,每次都是完整版本;没有文件级补丁。
- 那「补丁」是什么意思?
- 对你来说,只改一个 .md、只提交一个 .md;构建和上传交给命令或 Actions。
- 时间怎么自定义?
- 写文章页的时间字段精确到分钟,会写进 front matter;列表按时间排序。
- 部署后页面没变?
- 先确认 Actions / Deploy 成功,再
Ctrl + F5强刷;favicon 的缓存尤其顽固。