Appearance
Hono
Hono - 在日语中意为火焰🔥 - 是一个小巧、简单且超快速的基于 Web 标准构建的 Web 框架。它可以在任何 JavaScript 运行时环境中工作:Cloudflare Workers、Fastly Compute、Deno、Bun、Vercel、Netlify、AWS Lambda、Lambda@Edge 和 Node.js。
🌐 Hono - means flame🔥 in Japanese - is a small, simple, and ultrafast web framework built on Web Standards. It works on any JavaScript runtime: Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda, Lambda@Edge, and Node.js.
快速,但不仅仅是快速。
🌐 Fast, but not only fast.
ts
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hono!'))
export default app快速入门
🌐 Quick Start
只需运行这个:
🌐 Just run this:
sh
npm create hono@latestsh
yarn create honosh
pnpm create hono@latestsh
bun create hono@latestsh
deno init --npm hono@latest功能
🌐 Features
- 超快 🚀 - 路由
RegExpRouter真的是非常快。没有使用线性循环。很快。 - 轻量级 🪶 -
hono/tiny预设小于 14kB。Hono 没有任何依赖,仅使用 Web 标准。 - 多运行时 🌍 - 可在 Cloudflare Workers、Fastly Compute、Deno、Bun、AWS Lambda 或 Node.js 上运行。相同的代码可在所有平台上运行。
- 内置功能齐全 🔋 - Hono 内置了中间件、自定义中间件、第三方中间件以及辅助工具。功能齐全。
- 令人愉快的 DX 😃 - 超干净的 API。一流的 TypeScript 支持。现在,我们有了“类型”。
用例
🌐 Use-cases
Hono 是一个类似于 Express 的简单 web 应用框架,没有前端。但它可以运行在 CDN 边缘,并允许你在结合中间件时构建更大型的应用。下面是一些使用案例的示例。
🌐 Hono is a simple web application framework similar to Express, without a frontend. But it runs on CDN Edges and allows you to construct larger applications when combined with middleware. Here are some examples of use-cases.
- 构建 Web API
- 后端服务器的代理
- CDN 前端
- Edge 应用
- 库的基本服务器
- 全栈应用
谁在使用 Hono?
🌐 Who is using Hono?
| 项目 | 平台 | 用途 |
|---|---|---|
| cdnjs | Cloudflare Workers | 一个免费且开源的 CDN 服务。Hono 用于 API 服务器。 |
| Cloudflare D1 | Cloudflare Workers | 无服务器 SQL 数据库。Hono 用于内部 API 服务器。 |
| Cloudflare Workers KV | Cloudflare Workers | 无服务器键值数据库。Hono 用于内部 API 服务器。 |
| BaseAI | 本地 AI 服务器 | 具有记忆功能的无服务器 AI 代理管道。一个面向网页的开源智能代理 AI 框架。使用 Hono 的 API 服务器。 |
| Unkey | Cloudflare Workers | 一个开源的 API 身份验证和授权。Hono 用于 API 服务器。 |
| OpenStatus | Bun | 一个开源的网站和 API 监控平台。API 服务器使用 Hono。 |
| Deno 基准测试 | Deno | 一个基于 V8 的安全 TypeScript 运行时。Hono 用于基准测试。 |
| Clerk | Cloudflare Workers | 一个开源的用户管理平台。Hono 用于 API 服务器。 |
以及以下内容。
🌐 And the following.
- Drivly - Cloudflare 工作人员
- repeat.dev - Cloudflare 工作者
你想查看更多吗?请参见 谁在生产中使用 Hono?。
🌐 Do you want to see more? See Who is using Hono in production?.
1 分钟内掌握 Hono
🌐 Hono in 1 minute
使用 Hono 为 Cloudflare Workers 创建应用的演示。
🌐 A demonstration to create an application for Cloudflare Workers with Hono.

超快
🌐 Ultrafast
Hono 是最快的,与其他 Cloudflare Workers 路由相比。
Hono x 402,820 ops/sec ±4.78% (80 runs sampled)
itty-router x 212,598 ops/sec ±3.11% (87 runs sampled)
sunder x 297,036 ops/sec ±4.76% (77 runs sampled)
worktop x 197,345 ops/sec ±2.40% (88 runs sampled)
Fastest is Hono
✨ Done in 28.06s.查看更多基准测试(/docs/concepts/benchmarks)。
🌐 See more benchmarks.
轻量级
🌐 Lightweight
Hono 非常小。使用 hono/tiny 预设时,压缩后的大小不到 14KB。有许多中间件和适配器,但只有在使用时才会被打包。作为参考,Express 的大小为 572KB。
$ npx wrangler dev --minify ./src/index.ts
⛅️ wrangler 2.20.0
--------------------
⬣ Listening at http://0.0.0.0:8787
- http://127.0.0.1:8787
- http://192.168.128.165:8787
Total Upload: 11.47 KiB / gzip: 4.34 KiB多个路由
🌐 Multiple routers
Hono 有多台路由。
RegExpRouter 是 JavaScript 世界中最快的路由。它使用在分发前创建的单个大型正则表达式来匹配路由。使用 SmartRouter,它支持所有路由模式。
LinearRouter 注册路由非常快,因此适合每次都初始化应用的环境。PatternRouter 只是添加和匹配模式,使其体积小。
查看更多有关路线的信息(/docs/concepts/routers)。
🌐 See more information about routes.
Web 标准
🌐 Web Standards
多亏了网络标准的使用,Hono 可以在许多平台上运行。
🌐 Thanks to the use of the Web Standards, Hono works on a lot of platforms.
- Cloudflare Workers
- Fastly 计算
- Deno
- Bun
- Vercel
- AWS Lambda
- Lambda@Edge
- 其他
通过使用 Node.js 适配器,Hono 可以在 Node.js 上运行。
🌐 And by using a Node.js adapter, Hono works on Node.js.
查看有关网页标准的更多信息。
🌐 See more information about Web Standards.
中间件和助手
🌐 Middleware & Helpers
Hono 有许多中间件和辅助工具。这使得“少写代码,多做事”成为现实。
开箱即用,Hono 提供中间件和助手:
🌐 Out of the box, Hono provides middleware and helpers for:
- 基本身份验证
- 承载者身份验证
- 主体限制
- 缓存
- 压缩
- 上下文存储
- 饼干
- CORS
- ETag
- html
- JSX
- JWT 认证
- 记录器
- 语言
- 漂亮的 JSON
- 安全头
- SSG
- 流媒体
- GraphQL 服务器
- Firebase 身份验证
- 哨兵
- 其他!
例如,使用 Hono 添加 ETag 和请求日志记录只需要几行代码:
🌐 For example, adding ETag and request logging only takes a few lines of code with Hono:
ts
import { Hono } from 'hono'
import { etag } from 'hono/etag'
import { logger } from 'hono/logger'
const app = new Hono()
app.use(etag(), logger())查看更多有关中间件的信息 [/docs/concepts/middleware]。
🌐 See more information about Middleware.
开发者体验
🌐 Developer Experience
Hono 提供了令人愉快的“开发者体验”。
🌐 Hono provides a delightful "Developer Experience".
由于 Context 对象,可以轻松访问请求/响应。此外,Hono 是用 TypeScript 编写的。Hono 有“类型”。
🌐 Easy access to Request/Response thanks to the Context object. Moreover, Hono is written in TypeScript. Hono has "Types".
例如,路径参数将是字面量类型。
🌐 For example, the path parameters will be literal types.

并且,Validator 和 Hono 客户端 hc 启用了 RPC 模式。在 RPC 模式下,你可以使用你喜欢的验证器,例如 Zod,并轻松地与客户端共享服务器端 API 规范,构建类型安全的应用。
🌐 And, the Validator and Hono Client hc enable the RPC mode. In RPC mode, you can use your favorite validator such as Zod and easily share server-side API specs with the client and build type-safe applications.
参见 Hono Stacks。
🌐 See Hono Stacks.