你可能会说
帮我处理一下中间件,我不太确定最佳实践是什么。
请求到达最终处理逻辑之前,先经过的「安检站」。
请求到达最终处理逻辑之前,先经过的「安检站」。可以在这里检查权限、记录日志、过滤非法请求。
生活类比
像机场安检——登机(处理请求)之前,先过安检(中间件),不合格的拦下来。
🎮 动手试试
关于「中间件」,以下哪个描述最准确?
你可以这样告诉 AI
帮我写一个 Express 中间件:记录每个请求的方法、URL 和耗时,并验证请求头里是否带了有效 token。
中间件是请求处理链中的「拦截器」——在请求到达最终处理函数前做预处理;API 是请求的「终点」——真正处理业务逻辑的地方。
请求预处理管道
每个请求都需要做日志记录、权限校验、跨域处理时,用中间件统一处理,避免在每个接口里重复写相同逻辑。
和 AI 协作时
想让 AI 帮你写中间件时,直接说「帮我写一个 Express 中间件:检查请求头是否有有效 token,无效则返回 401,有效则把用户信息挂到 req.user 上」。
极简脚本或命令行工具
如果只是一个跑一次就退出的简单脚本,没有请求处理链,中间件概念完全不适用。
与后端框架无关的项目
如果你只做前端页面或纯客户端应用,不会接触到 Express/Koa 等框架的中间件机制。
请求到达最终处理逻辑之前,先经过的「安检站」。可以在这里检查权限、记录日志、过滤非法请求。
像机场安检——登机(处理请求)之前,先过安检(中间件),不合格的拦下来。
和 AI 沟通时提到「加个中间件判断登录状态」,就是在请求处理前插一道检查。