快速开始
本指南将带你完成项目的安装、本地运行,并了解日常会用到的几个命令。若想了解各部分是如何组合在一起的,请参阅 架构。
前置条件
-
Bun —— 本项目使用的包管理器与 JS/TS 运行时。安装方式:
curl -fsSL https://bun.sh/install | bash -
Git,用于克隆仓库,也用于 CMS 基于 Git 的内容提交。
安装
克隆仓库并安装依赖:
git clone <repository-url>
cd <repository-directory>
bun install
bun install 还会触发 prepare 脚本(panda codegen),将 PandaCSS 设计系统生成到 design-system/ 下 —— 即 UI 组件所导入的 recipes、tokens 与 JSX 辅助函数。如果遇到类型错误提示找不到 design-system 模块,可直接重新运行:
bun panda codegen
运行开发服务器
bun run dev
这将启动 Vite 的开发服务器(默认地址 http://localhost:5173),并支持 HMR。它运行的是实时 HonoX 服务器 —— 路由、岛屿与样式都会在保存时自动重新构建。
若想通过 CMS 界面而非手动编辑 content/ 下的文件来编辑内容,可在开发服务器运行时打开 /admin/。
构建与预览
bun run build
该命令会对同一份配置执行两次 Vite 编译 —— 一次用于客户端水合 bundle,一次用于服务端渲染页面 —— 随后由 @hono/vite-ssg 爬取每一条路由,并将其预渲染为 dist/ 下的静态 HTML。完整过程参见 架构。
若想通过 Cloudflare 本地运行时在本地提供该静态产物(比 bun run dev 更接近生产环境):
bun run preview
测试与 Lint
运行单元测试:
bun test unit
使用 Biome 进行 lint 并自动修复:
bun run check
部署
bun run deploy
构建站点并通过 wrangler 将 dist/ 部署到 Cloudflare Pages。项目也开箱配置了 Vercel 目标(vercel.json),如果更倾向于部署到那里也可以直接使用 —— 无论选择哪种方式,产物都是完全静态的站点,请求时无需任何服务端进程。