CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Node.js 框架与 ORM/课时/Hono
RawBlame
课时目录12 节

Node.js 框架与 ORM

  1. 01Node 框架生态
  2. 02Fastify
  3. 03Hono
  4. 04fetch 与 HTTP 客户端
  5. 05Drizzle ORM
  6. 06Knex 查询构建
  7. 07Sequelize
  8. 08模板引擎
  9. 09Vitest 测试
  10. 10日志
  11. 11生产运行
  12. 12综合练习

Hono

边缘运行时、轻量路由。

30 分钟

Hono

Hono 是 极轻量 的 Web 框架,核心很小,却能在 Node、Bun、Deno、Cloudflare Workers 上跑同一套路由代码。适合边缘函数、Serverless、或「一个文件起一个 API」的场景。

学习目标

  • 用 Hono 定义路由与中间件
  • 理解边缘运行时与 Node 本地的差异
  • 判断 Hono vs Fastify vs Express 的适用边界

基本应用

import { Hono } from "hono";

const app = new Hono();

app.get("/health", (c) => c.json({ ok: true }));

app.get("/api/tracks/:slug", (c) => {
  const slug = c.req.param("slug");
  return c.json({ slug, title: "示例 Track" });
});

export default app;
// Node: @hono/node-server 的 serve(app)
// Workers: export default app 作为 fetch handler

Context c 统一封装 request/response,写法接近现代 Web 标准。

边缘 vs Node

维度Node + FastifyHono on Workers
冷启动进程常驻函数级、毫秒级
状态内存、连接池无长连接,靠 KV/D1
适用传统 VPS/K8s APICDN 边缘、全球低延迟

本站主 API 仍跑 Java/Node 长驻进程;Hono 适合 BFF 边缘缓存、Webhook 转发、轻量代理。

中间件与组合

app.use("*", async (c, next) => {
  const start = Date.now();
  await next();
  c.header("X-Response-Time", `${Date.now() - start}ms`);
});

可挂载 CORS、JWT、Rate Limit 等官方/社区 middleware;复杂 DI 与分层仍建议 nestjs-essentials 或 Fastify 插件体系。

练习

  • 本地用 @hono/node-server 跑通 /health
  • 对比同一路由在 Express 与 Hono 下的代码行数
  • 阅读 Cloudflare Workers 文档中 Hono 示例(选做)

小结

Hono = 小核心 + 多运行时 + Web 标准友好。 下一课 HTTP 客户端:出站请求怎么选。

加载本节练习…
← 上一课
Fastify
下一课 →fetch 与 HTTP 客户端