# Hono 教程

URL: https://caijiao.org/hono/
Source: docs/hono/index.md
Description: 系统学习 Hono Web 框架，覆盖路由、中间件、Context、TypeScript 类型、验证、RPC、Node.js 与 Cloudflare Workers 部署，帮助开发者构建轻量高性能 API。

Hono 是一个基于 Web Standards 的轻量级 Web 框架，适合编写 API、边缘函数、BFF 服务和多运行时后端应用。

本教程面向已经了解 JavaScript 或 TypeScript 基础的开发者。你可以从 Node.js 项目开始，也可以把同一套核心代码迁移到 Cloudflare Workers、Bun、Deno、Vercel、Netlify 或其他支持 Fetch API 的平台。

## 你将学到什么

- 使用 `create-hono` 创建项目，并理解不同运行时模板的差异。
- 编写路由、读取参数、返回 JSON、HTML、文本和原始 `Response`。
- 掌握 `Context`、中间件执行顺序、错误处理和常用内置中间件。
- 使用 TypeScript 为环境变量、路由输入、响应结果和 RPC 客户端建立类型约束。
- 在 Node.js、Cloudflare Workers、Bun 和 Deno 中部署 Hono 服务。
- 通过实战示例完成 JSON API、表单处理、JWT 鉴权和 Todo API。

## 学习路径

1. 先阅读 [Hono 是什么](/hono/01-intro/01-what-is-hono) 与 [安装和 Hello World](/hono/01-intro/02-install-hello-world)，理解项目结构。
2. 继续学习 [路由基础](/hono/02-core/01-routing) 与 [Context](/hono/02-core/02-context)，掌握日常接口开发。
3. 再看 [中间件机制](/hono/02-core/03-middleware) 与 [错误处理](/hono/02-core/04-error-handling)，把横切逻辑放到合适位置。
4. 如果你使用 TypeScript，重点阅读 [类型化路由](/hono/03-typescript/01-typed-routes)、[Bindings](/hono/03-typescript/02-bindings-env) 和 [RPC 客户端](/hono/03-typescript/03-rpc-client)。
5. 最后通过 [JSON API](/hono/06-practice/01-json-api) 和 [Todo API](/hono/06-practice/04-todo-api) 把知识串起来。

## Hono 适合哪些项目

Hono 的优势在于小巧、速度快、贴近 Web 标准，并且可以运行在多个 JavaScript 运行时上。它特别适合：

- Cloudflare Workers、Fastly Compute 等边缘平台上的 API。
- Node.js 中的轻量服务、Webhook、BFF 和内部工具接口。
- Bun、Deno 等运行时里的快速原型和脚本服务。
- 需要在服务端与客户端共享 API 类型的小型全栈项目。

如果你正在构建强约束的大型企业后端，仍然需要额外补齐配置管理、数据库访问、任务队列、权限体系、可观测性和部署规范。Hono 提供的是简洁内核，不是全家桶框架。
