Web 标准
Hono 只使用 Fetch 等 Web 标准。这些标准最初应用于 fetch 函数,由处理 HTTP 请求与响应的基础对象组成。除 Requests 和 Responses 外,还包括 URL、URLSearchParam、Headers 等对象。
Cloudflare Workers、Deno 和 Bun 也建立在 Web 标准之上。例如,返回“Hello World”的服务器可以按下面的方式编写。这段代码可运行在 Cloudflare Workers 和 Bun 上。
ts
export default {
async fetch() {
return new Response('Hello World')
},
}Hono 只使用 Web 标准,因此可以运行在支持这些标准的任何运行时上。此外,我们还提供 Node.js 适配器。Hono 支持以下运行时:
- Cloudflare Workers (
workerd) - Deno
- Bun
- Fastly Compute
- AWS Lambda
- Node.js
- Vercel (edge-light)
- WebAssembly(通过
wasi:http使用 WebAssembly 系统接口(WASI))
Hono 还可以运行在 Netlify 等其他平台上。同一份代码能够在所有这些平台上运行。
Cloudflare Workers、Deno、Shopify 等共同发起了 WinterCG,探讨如何使用 Web 标准实现“Web 互操作性”。Hono 将沿着这一方向发展,努力成为 Web 标准开发的标准框架。