第 3 章:Express.js 框架详解¶
Express 是 Node.js 最流行的 Web 框架。理解 Express 的核心机制,是构建 Node.js 后端服务的关键。
3.1 Express 是什么?¶
Express 是一个 最小化、灵活的 Node.js Web 应用框架,提供:
- HTTP 服务器封装
- 路由系统
- 中间件机制
- 模板引擎支持
原生 Node.js vs Express¶
3.2 中间件(Middleware)—— Express 的灵魂¶
什么是中间件?¶
中间件是一个 函数,可以访问请求对象(req)、响应对象(res)和下一个中间件(next)。
中间件执行流程¶
中间件类型¶
1. 应用级中间件¶
2. 路由级中间件¶
3. 错误处理中间件¶
4. 内置中间件¶
实际案例:完整的中间件链¶
3.3 路由系统¶
基本路由¶
路由参数¶
路由正则¶
路由模块化(Router)¶
3.4 错误处理最佳实践¶
自定义错误类¶
统一错误处理¶
3.5 完整项目结构¶
3.6 实际案例:完整的用户管理 API¶
3.7 常用中间件推荐¶
| 中间件 | 用途 | 安装 |
|---|---|---|
cors | 跨域支持 | npm i cors |
helmet | 安全头 | npm i helmet |
morgan | HTTP 日志 | npm i morgan |
express-rate-limit | 限流 | npm i express-rate-limit |
compression | Gzip 压缩 | npm i compression |
cookie-parser | Cookie 解析 | npm i cookie-parser |
multer | 文件上传 | npm i multer |
express-validator | 请求验证 | npm i express-validator |
swagger-ui-express | API 文档 | npm i swagger-ui-express |
3.8 总结¶
| 核心概念 | 一句话 |
|---|---|
| 中间件 | Express 的灵魂,请求处理的管道 |
| 路由 | URL 到处理函数的映射 |
| Router | 路由模块化,按功能拆分 |
| 错误处理 | 4 参数中间件,统一捕获 |
| 项目结构 | routes → controllers → services → models |
Express 的优势: 简单、灵活、生态丰富(npm 上最多的 Web 框架) Express 的不足: 缺少内置的 ORM、验证、类型系统(需要第三方库)
上一章:REST API 设计规范 | 下一章:FastAPI 框架