用途:Hono 适合边缘优先的 API、Cloudflare Workers 服务、多运行时应用、轻量 REST/RPC 服务器、中间件密集的请求管道,以及类型安全的客户端-服务器通信。应用代码可跨运行时移植,只有入口点和适配器因平台而异。
主要能力:支持 app.get/post/put/delete/patch/all 等路由方法;路径参数 :id、内联正则约束 {[0-9]+} 与通配 *;用 app.route() 挂载子应用分组;app.use() 注册中间件,按注册顺序执行,可限定路径。响应侧提供 c.json()、c.text()、c.html(),以及 c.status()、c.header()、c.redirect()。请求侧提供 c.req.json()、c.req.parseBody()、c.req.query()。上下文可用 c.set()/c.get() 传递类型安全数据,c.env 访问运行时绑定与环境变量。配套 @hono/zod-validator 做校验,hc<AppType>(url) 提供端到端类型安全调用,app.onError()/app.notFound() 处理错误与 404,hono/testing 的 testClient(app) 支持无需 HTTP 服务器的类型安全测试,jsxRenderer({ stream: true }) 支持带 Suspense 的 SSR 流式渲染,并可通过运行时适配器使用 WebSocket。
使用方式:通过各功能对应的上述 API 定义路由与中间件。边缘运行时应 export default app(Cloudflare Workers、Bun、Deno 需要);Deno 中需将所有 hono 导入固定为同一版本。RPC 类型需对路由方法链式调用并导出链式路由变量的类型,而非 app 实例;使用 new Hono() 时传入泛型以启用类型化的 c.get()/c.set()。
限制与注意:不适用于全栈 SSR 框架场景(应选 Next.js/Remix),也不适合依赖 Express 生态成熟度的重型 ORM 单体应用,或需要深度 Node.js 专有 API 的应用。Cloudflare Workers 与 Deno Deploy 会自动压缩,勿使用 compress() 中间件;中间件应在目标处理器之前注册,且 next() 不会抛错,无需 try/catch。可复用中间件应使用 hono/factory 的 createMiddleware() 以保留类型推断。创建资源返回状态码时用 c.json(data, 201)。其他安装命令与更细的平台配置资料暂未提供。