用 Astro + Cloudflare Pages 搭建个人博客的折腾记录
最近把博客从零搭了起来,用的是 Astro 框架加上 koi 这个主题,部署在 Cloudflare Pages 上。整体体验还不错,记录一下过程。
技术选型
- 框架:Astro —— 静态优先,生成的页面基本是纯 HTML,加载极快
- 主题:koi —— 颜值在线,有明暗模式,响应式也做得挺好
- 部署:Cloudflare Pages —— 免费,全球 CDN,自动 CI/CD
关键配置
astro.config.js
部署到自定义域名需要修改 site 字段,并把 base 改为 /:
export default defineConfig({
site: 'https://nekoyoyo.com',
base: '/',
// ...
});
Cloudflare Pages 构建设置
在 Cloudflare Pages 控制台创建项目时:
| 设置项 | 值 |
|---|---|
| 构建命令 | pnpm build |
| 输出目录 | dist |
| Node.js 版本 | 20.x |
自定义域名
在项目 → Custom domains → 添加 nekoyoyo.com,Cloudflare 会自动配置 DNS(前提是域名已经托管在 Cloudflare)。
遇到的坑
- pnpm 版本:koi 主题用的是 pnpm@11,Cloudflare Pages 需要在环境变量里设置
ENABLE_EXPERIMENTAL_PNPM_STORE=1或者在项目根目录放一个.node-version文件(koi 已经有了,直接用就行) - 图片优化:Astro 的
sharp依赖需要在pnpm-workspace.yaml里允许构建脚本,koi 已经配置好了
整体还是挺顺利的,Cloudflare Pages 的免费额度对个人博客来说完全够用。