先从最小可运行版本开始。
npm i koaimport Koa from 'koa'
const app = new Koa()
app.use(async (ctx) => {
ctx.body = '洋葱巡防塔已上线'
})
app.listen(3000)访问 http://localhost:3000,就会得到响应。
这段代码背后的巡防图是:
请求进入
│
▼
app.use 注册的唯一关卡
│
▼
ctx.body 被写入
│
▼
Koa 生成响应这里先吃透两个点:
#1. app.use() 是 Koa 的核心入口
你不是先写控制器类,也不是先写模块树。
你是先创建一座巡防塔,然后不断往上挂关卡。
#2. ctx.body 是最常见的回包方式
只要给 ctx.body 赋值,Koa 就会帮你把响应送出去。
字符串会按文本处理,对象和数组会自动转成 JSON。
还有一个高频细节必须提前知道:
Koa 的默认响应状态不是 200,而是 404。
也就是说,如果某个请求走完整条链路后你没有设置 ctx.body,或者没有显式设置合适的 ctx.status,最后非常可能就是个 404。