用途:Hono 用于在边缘/无服务器平台上构建轻量、类型安全的 API,适合边缘 API、轻量路由与中间件,以及 Cloudflare Workers、Deno Deploy、Bun 等边缘平台。不适合全栈 SSR + React(建议 Next.js)、重型 ORM/会话状态(建议 Express/NestJS)和长时间运行进程(建议 Node.js 服务器)。
主要能力与用法:路由采用方法链式写法,在单个 app 实例上串联 .get/.post 等;中间件用 app.use() 组合并按路径限定作用域,如 app.use("", logger())、app.use("/api/", bearerAuth({ token: SECRET }))。请求校验使用 @hono/zod-validator 的 zValidator 配合 Zod schema,校验后通过 c.req.valid("json") 获取类型化数据。响应优先使用上下文助手 c.json()、c.text()、c.html()、c.redirect(),并显式指定状态码。Cloudflare Workers 环境绑定通过泛型参数声明,如 type Env = { Bindings: { DB: D1Database; KV: KVNamespace } },再用 new Hono<Env>() 访问 c.env.DB。子路由用 app.route("/prefix", subApp);流式响应用 c.stream() 或 c.streamText();多平台用适配器导出(hono/cloudflare-workers、hono/bun)。
限制与注意:冷启动方面 Hono 约 14KB,但打包依赖会增大体积,需积极 tree-shake。平台限制如 CF Workers 128MB、免费 10ms CPU/付费 30s,Deno Deploy 50ms CPU;并非所有平台都支持完整流式。请求体解析为惰性 JSON(c.req.json()),multipart 需 hono/multipart;路径参数 c.req.param() 均为字符串,入库前需转数字;CORS 中间件应在处理器之前注册以处理 OPTIONS。最终导出需匹配目标平台适配器。