← All projects

边缘手记

用 SvelteKit 做页面、Hono 做 API,部署在 EdgeOne 边缘节点的博客站点。

  • sveltekit
  • hono
  • edgeone

这个站点本身就是一个项目:文章全部在构建期编译成静态 HTML 交给 CDN,只有 /api/* 会真正唤醒边缘函数。

整体思路是把能在构建期做完的事全部前置——Markdown 解析、代码高亮、目录提取、搜索结果索引,全部发生在 vite build 期间。运行时只剩下纯静态文件和一个极小的函数包。

技术上值得记几笔:

  • 官方 @edgeone/sveltekit 适配器生成的路由规则把函数限定在 ^/api(/.*)?,所以静态页面无论多少访问量都不会触发函数计费
  • Shiki 采用两趟渲染:先同步解析 Markdown 留下占位符,再批量替换成高亮结果,避开 marked async: true 不 await 的坑
  • 工具链锁在 Vite 6,因为 EdgeOne 构建镜像提供的 Node 最高只有 22.11.0

技术栈

SvelteKit 2 · Svelte 5 Runes · Hono 4 · Tailwind CSS v4 · Shiki 4 · EdgeOne Pages