Skip to content

Hono - 用于边缘计算的超快速 Web 框架

警告:本文由机器翻译生成,可能导致质量不佳或信息有误,请谨慎阅读!

Hono

Hono - [炎] 表示日语中的火焰 🔥 - 是一个小型,简单且超快的网络框架。 它可以在任何JavaScript运行时工作:Cloudflare Workers,Fastly,Deno,Bun,Vercel,Netlify,AWS lambda,lambda@Edge和Node.js。

快速,但不仅快。

import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hono!'))
export default app

快速开始

只需运行这个:

Terminal window
npm create hono@latest
Terminal window
yarn create hono
Terminal window
pnpm create hono@latest
Terminal window
bun create hono@latest
Terminal window
deno run -A npm:create-hono@latest

功能

  • 超快 🚀 - 路由器 RegExpRouter 速度极快。不使用线性循环。快如闪电。
  • 轻量 🪶 - hono/tiny 预设小于14kB。Hono 零依赖,只使用 Web 标准 API。
  • 多运行时 🌍 - 兼容 Cloudflare Workers、Fastly Compute、Deno、Bun、AWS Lambda 和 Node.js。同一代码可在所有平台上运行。
  • 内置功能齐全 🔋 - Hono 具有内置中间件、自定义中间件、第三方中间件和助手。功能齐全。
  • 愉悦的开发体验 😃 - 超干净的 API。一级 TypeScript 支持。现在我们有了“类型”。

使用- 案例

Hono是一个简单的Web应用程序框架,类似于Express,而没有前端。 但是它可以在CDN边缘运行,并允许您在与中间件结合使用时构建较大的应用程序。 以下是一些使用示例- 案例。

  • 构建Web API
  • 后端服务器的代理
  • CDN的正面
  • 边缘应用
  • 库的基础服务器
  • 满的- 堆栈应用程序

谁在使用Hono?

项目平台做什么的?
CDNJSCloudflare Workers免费开放- 源CDN服务。 HONO用于API Server
Cloudflare D1Cloudflare Workers无服务器SQL数据库。 _ HONO用于内部API Server_。
不钥匙Cloudflare工人开放- 来源API身份验证和授权。 HONO用于API Server
OpenStatus包子开放- 来源网站和API监视平台。 HONO用于API Server
DENO基准丹诺在V8上构建的安全打字条运行时。 _hono用于基准测试。
Deno文档丹诺官方的DENO文档网站。 _ HONO用于Web Server_。

和以下内容。

你想看更多吗? 看 谁在生产中使用Hono?

Hono(Hono)1分钟

旨在通过Hono为Cloudflare工人创建应用程序的演示。

 演示

超快

** Hono是最快的** ,与其他用于Cloudflare工人的路由器相比。

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.

更多基准

轻的

** 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

多个路由器

** Hono有多个路由器** 。

** REGEXPROUTER** 是JavaScript世界中最快的路由器。 它使用在派遣前创建的单个大正等式匹配路线。 和 ** Smartrouter** ,它支持所有路线模式。

** 线性素** 非常快地注册路线,因此适用于每次初始化应用程序的环境。 ** 模式** 只需添加并匹配图案,使其很小。

有关路线的更多信息

网络标准

多亏了使用 ** Web标准API** ,Hono在许多平台上工作。

  • Cloudflare工人
  • Cloudflare页面
  • 快速计算
  • 丹诺
  • 包子
  • 动词
  • AWS Lambda
  • lambda@edge
  • 其他的

并使用 node.js适配器 ,Hono在Node.js上工作

有关Web标准的更多信息

中间件和帮助者

** Hono有许多中间件和帮助者** 。 这些使得 “Write Less, do more” 现实。

开箱即用,Hono提供了中间件和帮助者:

例如,添加ETAG和请求记录仅需使用Hono的几行代码:

import { Hono } from 'hono'
import { etag } from 'hono/etag'
import { logger } from 'hono/logger'
const app = new Hono()
app.use(etag(), logger())

有关中间件的更多信息

开发人员的经验

Hono提供了令人愉快的 “Developer Experience” 。

可以轻松访问请求/回复 Context 目的。 此外,Hono是用打字稿编写的。 Hono拥有 “Types” 。

例如,路径参数将是字面类型。

 SS

而且,验证者和Hono客户 hc 启用RPC模式。 在RPC模式下, 您可以使用自己喜欢的验证器,例如ZOD并轻松共享服务器- 端API规格与客户端并构建类型- 安全申请。

Hono堆栈