为什么这个站是纯静态的
· 架构 / 性能
这个站每天的访客是个位数。在这个量级上,任何常驻服务都是负担:要打补丁、要盯内存、要担心证书过期。所以整站构建成纯静态文件,只有“确实需要服务端”的部分才交给边缘函数。
静态优先带来什么
- 首屏不需要等任何后端:HTML 从最近的 CDN 节点直接返回。
- 缓存策略可以做到极致:带 hash 的资源
immutable一年,HTML 不缓存。 - 迁移成本几乎为零:产物是
dist/目录,换任何一家静态托管都是上传即可。
什么时候才需要边缘函数
只有三类需求值得动服务端:
- 需要跨用户共享的状态,比如访客计数、留言。
- 需要隐藏密钥,比如调用第三方 API 时不能把 key 放在前端。
- 需要按请求改写响应,比如 A/B 分流、地区判断。
这个站目前只用到第 1 类:/api/visit 一个接口,读改写一次 KV。
判断标准很简单:如果这个功能删掉之后,页面还能正常看,那它就不该进首屏。
留给未来的口子
函数写成标准的 fetch handler,不绑定任何平台专有 API(KV 通过一层极薄的接口注入)。这样同一份逻辑既能跑在 Cloudflare Pages Functions 上,也能跑在任意一台装了 Node 的机器上——包括不备案方案里那台香港备用机。