Koa
Node.js Web 框架,强调基于 async/await 的洋葱模型中间件,适合希望保留轻量但又想让中间件执行流更清晰的服务端项目。
#type / resource
#status / growing
#tech / dev / backend
#resource / nodejs
#resource / koa
[!info] related notes
- 所属 MOC: Node.js MOC, Node.js 后端面试 MOC
- 相关概念: express, Node.js Web 框架选型:Express、Koa 与 NestJS, RESTful API
- Node 运行时: Node.js 下的 JavaScript
Koa
这是什么
Koa 是由 Express 原班人马推动的 Node.js Web 框架。
它和 Express 一样保持轻量,但更强调:
async/await- 更干净的中间件链
- 洋葱模型
适用平台
- Node.js 服务端
- API 服务
- 希望保留框架轻量性、但又重视中间件执行流的项目
核心特点 / 优势 / 局限
核心特点
- 中间件执行流是洋葱模型
- 常用
ctx统一承载请求与响应上下文 - 更少内置内容,更依赖组合中间件
优势
- 中间件前后置逻辑更清晰
- 特别适合做日志、耗时、异常包装、鉴权等横切处理
- 比较适合想自己组合能力的团队
局限
- 工程约束仍然不强
- 企业级项目往往还得自己再补 DTO、模块化、依赖注入和统一异常体系
常见用途
- 中小型 API 服务
- 网关与聚合层
- 需要精细控制中间件执行顺序的项目