Express 速通(TypeScript)
这节要解决什么
用你已有的 Express 印象,快速搭一个带 TypeScript 的迷你 Todo API,为 Nest 打底板。
先用大白话
Express 核心就三件事:
- 路由:
GET /todos走哪个函数 - 中间件:请求到达业务前先经过的关卡(解析 JSON、打日志、鉴权…)
- req / res:读请求、写响应
类比 Nuxt:
| Express | 有点像 |
|---|---|
app.get('/x', handler) | server route / API 路由 |
app.use(中间件) | Nuxt / Vue Router 全局中间件 |
req.body | 请求体 |
Nest 默认就是跑在 Express 上的;你懂 Express,看 Nest 控制器时不会懵。
对着项目改
打开:projects/02-express-todo-api
cd projects/02-express-todo-api
npm install
npm run dev默认端口 3001。可用浏览器或 curl:
curl http://localhost:3001/todos
curl -X POST http://localhost:3001/todos -H 'Content-Type: application/json' -d '{"title":"学 Express"}'重点文件:
src/app.ts:创建 app、挂中间件、挂路由src/todos.ts:Todo 的增删改查(内存数组,重启会丢,这是故意的)src/index.ts:监听端口
只要记住的结构
app.use(express.json()) // 先解析 JSON
app.get('/todos', ...) // 再定义路由
app.listen(3001)错误处理:业务里抛错或 next(err),最后有一个错误中间件统一返回 JSON —— Nest 里会变成「异常过滤器」,思想相同。
验收清单
- 本地能增删改查 Todo
- 知道
express.json()是中间件 - 能指着代码说出「路由」和「业务逻辑」分别在哪
下一节 → 练习与验收.md