Hono 是一个运行在边缘节点的 JavaScript Edges Web 框架,可以在任何支持 JavaScript 运行的服务上,包括 Cloudflare Workers,Fastly Compute@Edge,Deno,Bun,Vercel,Netlify,Lagon,AWS Lambda,Lambda@Edge 和 Node.js。
Hono 的特点就是简单,轻量,快。
- 快,RegExpRouter 快
- 轻,
hono/tiny
只有 14kB,零依赖 - Multi-runtime,支持非常多的 JavaScript 运行时
- 完整,自带中间件,可以自定义中间件
- 验证,缓存,Cookie,CORS,ETag 等等
使用场景
- 构建 Web API
- 后端服务代理
- CDN
- Edge 应用
- 基础服务
- 全栈应用
下面是一些具体的使用 Hono 的产品
- drivly 通过数据驱动的电商平台构建工具
- repeat.dev 定时触发调用 webhook 的服务
使用
创建项目
pnpm create hono my-app
我创建了一个项目,接受上传图片,并生成一个随机的图片名称,然后上传到 Cloudflare R2。代码见GitHub。
然后配套 uPic 直接上传到 R2,然后获取 R2 的直接链接。
Head
Content_Type: multipart/form-data
Authorization: Bearer my-secret-token
采用 form-data
上传,文件 key 是 file。