全书目录

第三十六篇:Koa 完全指南 —— 洋葱关卡巡防宇宙

第二章:3 分钟先让巡防塔亮灯 —— 最小 Koa 服务怎么搭

1 分钟 329 字 第 685 / 962 个阅读单元

先从最小可运行版本开始。

bash
npm i koa
js
import Koa from 'koa'

const app = new Koa()

app.use(async (ctx) => {
  ctx.body = '洋葱巡防塔已上线'
})

app.listen(3000)

访问 http://localhost:3000,就会得到响应。

这段代码背后的巡防图是:

text
请求进入
  │
  ▼
app.use 注册的唯一关卡
  │
  ▼
ctx.body 被写入
  │
  ▼
Koa 生成响应

这里先吃透两个点:

#1. app.use() 是 Koa 的核心入口

你不是先写控制器类,也不是先写模块树。
你是先创建一座巡防塔,然后不断往上挂关卡。

#2. ctx.body 是最常见的回包方式

只要给 ctx.body 赋值,Koa 就会帮你把响应送出去。
字符串会按文本处理,对象和数组会自动转成 JSON。

还有一个高频细节必须提前知道:

Koa 的默认响应状态不是 200,而是 404。

也就是说,如果某个请求走完整条链路后你没有设置 ctx.body,或者没有显式设置合适的 ctx.status,最后非常可能就是个 404。