FisherHub Blog
← 返回列表 | 开发实践

Hono + Cloudflare Workers:零成本部署全栈 API

用 Hono 写 API,部署到 Cloudflare Workers——每天 10 万次免费请求,边缘节点全球加速

为什么选这个组合

Cloudflare Workers 的免费额度:

  • 每天 10 万次请求
  • 全球 300+ 边缘节点
  • 零冷启动(基于 V8 Isolates)

Hono 是 Workers 上最流行的 Web 框架,二者是天然搭档。

创建项目

npm create hono@latest my-api
cd my-api
npm install

写 API

// src/index.ts
import { Hono } from 'hono';
import { cors } from 'hono/cors';

const app = new Hono();

app.use('*', cors());

app.get('/api/health', (c) => c.json({ status: 'ok' }));

app.get('/api/posts', async (c) => {
  // Cloudflare Workers 可以用 KV / D1 存储
  const posts = await c.env.DB.prepare(
    'SELECT * FROM posts ORDER BY created_at DESC LIMIT 20'
  ).all();
  return c.json(posts.results);
});

export default app;

配置 wrangler

# wrangler.toml
name = "fisherhub-api"
main = "src/index.ts"
compatibility_date = "2026-06-01"

[[d1_databases]]
binding = "DB"
database_name = "fisherhub-db"
database_id = "xxx"

部署

npx wrangler deploy

几秒钟后,你的 API 就在 https://fisherhub-api.your-subdomain.workers.dev 上线了。

实战技巧

  1. KV 存配置:网站设置、feature flags
  2. D1 存数据:SQLite 兼容的关系型数据库
  3. R2 存文件:S3 兼容的对象存储
  4. Queues 处理异步任务:邮件发送、图片处理

与 Astro SSR 的分工

场景推荐
博客文章、静态页面Astro SSG/SSR
API、Webhook、实时数据Hono + Workers
两者都需要Astro SSR 内嵌 Hono

Hono + Cloudflare Workers 是我目前做 API 的首选方案——免费额度够个人项目用到天荒地老,性能也完全不输传统服务器。