中间件机制
中间件是 Express 的核心概念之一,它本质上是一个函数,能够访问请求对象(req)、响应对象(res)以及处理流程中的下一个中间件函数(next)。
什么是中间件?
中间件函数可以对请求进行处理、修改响应、结束请求响应周期或调用下一个中间件。它们像流水线一样串联起来,依次执行,形成请求的处理链。
中间件的作用
- 处理请求数据(例如解析请求体)
- 进行身份验证和权限校验
- 日志记录和请求追踪
- 静态资源服务
- 错误处理
中间件的类型
-
应用级中间件
绑定在整个应用上的中间件,使用app.use()或特定路由绑定。 -
路由级中间件
绑定在某个路由路径上的中间件,只在匹配该路径时执行。 -
错误处理中间件
具有四个参数(err, req, res, next),专门处理应用中的错误。 -
第三方中间件
由社区提供的中间件,如body-parser、cors等。 -
内置中间件
Express 自带的中间件,如express.static用于托管静态资源。
中间件执行流程示意
请求 → 中间件1 → 中间件2 → 路由处理 → 响应
每个中间件必须调用 next() 才能将控制权交给下一个中间件,否则请求将被挂起。
示例
const express = require('express');
const app = express();
// 应用级中间件示例
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next(); // 传递到下一个中间件
});
app.get('/', (req, res) => {
res.send('Hello Middleware!');
});
app.listen(3000);
`
中间件机制是 Express 强大灵活的基础,后续章节会详细介绍中间件的更多用法。
相关内容
- 常用中间件列表 本章节将介绍一些常用的 Express 中间件,它们可以帮助您简化应用的开发。中间件用于处理请求、响应,或在请求处理过程中执行额外的操作。本章节包括一些常见的中...
- 常见错误及解决方案 本章节将介绍在开发 Express 应用时常见的错误及其解决方案。通过了解这些常见问题及其处理方法,您可以更有效地调试和优化您的应用。
- 推荐阅读资源 本章节提供了一些推荐的学习资源,包括书籍、在线教程、视频课程和社区资源,帮助您深入了解 Express 和相关技术栈,提升开发技能。
- Express 对比 Koa 和 Next.js 本章节将对比 Express、Koa 和 Next.js 三个常见的 Node.js 框架,分析它们的特点、使用场景、优势和劣势,帮助开发者根据项目需求选择合适...
- 什么是 Node.js? Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,支持在服务器端运行 JavaScript,实现高性能非阻塞 I/O,广泛应...
- 什么是 Express? Express 是基于 Node.js 的极简灵活的 Web 应用框架,简化服务器端开发流程,提供强大的路由、中间件支持,广泛用于构建高性能 Web 服务和 A...