扫码关注官方订阅号
大家能不能简单的讲讲,或者有什么这方面的博文推荐链接的吗?
这个搜索一下很多结果的,可以看看这一篇文章何为 connect 中间件
严格上讲,并不是 Node 的中间件,而是 Express 里的中间件,而 Express 中的中间件理念,直接来自于 Connect 这个模块。
Connect 的简介是“Connect is a middleware layer for Node.js”,所以你所说的中间件,应该就是指的这个。
中间件的流程是,接收统一格式的参数,执行操作,然后调用下一个中间件。每一次操作,相对其它的操作都是独立的。也不会直接性的去干涉其它的中间件。
而对于一般的请求来讲,像在 Express 里面,有很多操作利用中间件来实现就比较合理,比如:
用户的身份与鉴权
参数的判断、格式化、筛选等
路由的处理
记录日志
在调用一个中间件时,一般包括以下几个参数:
req 请求对象
res 响应对象
next 调用下一个中间件的方法
id 路由中间件传的路由参数
前三个必有,后一个一般没有。
比如,下面就是一个最简单的中间件:
app.use(function(req, res, next){ console.log('simple middleware'); next(); });
这里啥都没干,只打印了一句话。
每个中间件对 req / res 对象的修改,其它的中间件也可以读取。
req
res
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个搜索一下很多结果的,可以看看这一篇文章何为 connect 中间件
严格上讲,并不是 Node 的中间件,而是 Express 里的中间件,而 Express 中的中间件理念,直接来自于 Connect 这个模块。
Connect 的简介是“Connect is a middleware layer for Node.js”,所以你所说的中间件,应该就是指的这个。
中间件的流程是,接收统一格式的参数,执行操作,然后调用下一个中间件。每一次操作,相对其它的操作都是独立的。也不会直接性的去干涉其它的中间件。
而对于一般的请求来讲,像在 Express 里面,有很多操作利用中间件来实现就比较合理,比如:
用户的身份与鉴权
参数的判断、格式化、筛选等
路由的处理
记录日志
在调用一个中间件时,一般包括以下几个参数:
req 请求对象
res 响应对象
next 调用下一个中间件的方法
id 路由中间件传的路由参数
前三个必有,后一个一般没有。
比如,下面就是一个最简单的中间件:
这里啥都没干,只打印了一句话。
每个中间件对
req/res对象的修改,其它的中间件也可以读取。