2026-07-10 学习笔记
VitePress 博客搭建完成
今天从零搭建了个人技术博客「栈里拾光」,记录一下过程和收获。
技术选型
| 方案 | 优点 | 缺点 |
|---|---|---|
| Hexo | 生态成熟 | 配置繁琐 |
| Hugo | 构建快 | Go 模板语法不友好 |
| VitePress | 现代化、Vue 生态 | 主题定制需要 Vue 知识 |
最终选择 VitePress,因为技术栈和日常开发一致。
部署方案
GitHub (源码) → GitHub Actions → Wrangler → Cloudflare Pages- 使用 GitHub Actions 自动构建
- 通过 Wrangler CLI 部署到 Cloudflare Pages
- 免费额度足够个人博客使用
遇到的问题
- ESM 模块问题: 首次构建报错
ESM file cannot be loaded by require,在 package.json 中添加"type": "module"解决 - 图标渲染: VitePress frontmatter features 的 icon 属性不支持对象格式,需要直接传入 SVG 字符串
- Node 版本: 确保 Node >= 18,否则部分依赖不兼容
收获
- 熟悉了 VitePress 的配置体系
- 掌握了 Cloudflare Pages 的部署流程
- 对 Markdown 扩展语法有了更深的理解
博客上线是第一步,后面要持续输出有价值的内容。