Hono(日语“炎”)是基于 Web 标准(Request/Response/fetch)构建的小型高速 Web 框架,可在 Cloudflare Workers、Deno Deploy、Bun、Node.js、AWS Lambda 等运行时运行同一份代码。用途:构建边缘 REST/RPC API、低延迟 BFF 层,或为 Bun/Node.js 提供极简且类型安全的服务端框架,也适合从 Express 迁移到 TypeScript 支持更好、兼容边缘的方案。
主要能力:提供高速路由器,支持 app.get/post/put/delete、路由参数(c.req.param)、查询串(c.req.query)与通配符;支持链式路由。中间件机制类似 fetch 拦截器,内置 logger、cors、csrf、etag、cache、basicAuth、bearerAuth、jwt、compress、bodyLimit、timeout、prettyJSON、secureHeaders 等,也可自定义。请求与响应助手包括 c.req.json/formData/text、读取 header 与 cookie,以及 c.json、c.text、c.html、c.redirect 和原始 Response。结合 @hono/zod-validator 可在请求校验后获得完全类型化的数据。支持子应用与 app.route 组合,basePath 设置前缀;RPC 模式通过导出路由类型供 hc 客户端消费,实现前后端端到端类型安全。
使用方式:Cloudflare Workers 可执行 npm create hono@latest my-api 并选择 cloudflare-workers,然后 npm install、npm run dev、npm run deploy;Bun/Node.js 可先 bun init 再 bun add hono,并在入口导出 { port, fetch: app.fetch }。
适用场景:边缘部署的 REST/RPC API、BFF、轻量全栈应用,以及需要同一代码跨运行时部署的项目。
限制:如需边缘可移植性,避免使用 fs、path、process 等 Node.js 专有 API;环境绑定(如 c.env)仅存在于 Workers,Node.js 需用 process.env;处理函数必须显式返回响应,否则为空;中间件需在 await next() 前后正确安排逻辑;子路由前缀不要重复。资料未提供收费与价格信息。