自定义 Web Server 变化
本章节覆盖两类旧版自定义 Server API 的升级
- unstableMiddleware
- Hook
这两种写法在旧版中互斥,迁移时请根据项目实际使用的能力选择对应路径。
unstableMiddleware
核心差异
- 文件结构:
server/index.ts→server/modern.server.ts - 导出方式:
unstableMiddleware数组 →defineServerConfig - Context API:Modern.js Server Context → Hono Context(
c.req/c.res) - 中间件执行:旧版可不调用
next(),新版必须调用后续链路才会执行 - 响应方式:
c.response.raw()→c.text()/c.json()
文件与导出
类型与 next 调用
Context API 对照
afterRender Hook
afterRender Hook 用于在页面渲染完成后对 HTML 进行处理。在新版中,需要使用 renderMiddlewares 来实现相同的功能。
核心差异
- 文件结构:
server/index.ts→server/modern.server.ts - 导出方式:
hook对象中的afterRender→defineServerConfig中的renderMiddlewares - 处理方式:直接修改 HTML 字符串 → 通过中间件获取和修改响应