中间件

179 阅读2分钟

概念 什么是中间件

一个请求发送到服务器后,它的生命周期是 先收到request(请求),然后服务端处理, 处理完了以后发送response(响应)回去而这个服务端处理的过程就有文章可做了, 想象一下当业务逻辑复杂的时候,为了明确和便于维护,需要把处理的事情分一下, 分配成几个部分来做,而每个部分就是一个中间件

可以这样理解,把大象放入冰箱的过程是这样的:

image.png

那么如果这样写

image.png

就可以把拿起大象,捣鼓大象,塞入大象当作一个中间键

中间件的作用

在nodeJS中,中间件主要是指封装所有Http请求细节处理的方法,一次Http请求通常包含很多工作 :如记录日志,IP过滤,查询字符串、请求体解析,cookie处理、权限验证、参数验证、异常处理等

中间件其实就是一个个的函数, 当调用next时, 才会执行下一个中间件函数, 如果不调用这个next就会一直卡在这一步

image.png

像我们经常用的Express是一个自身功能极简,完全是路由和中间件构成一个web开发框架: 从本质上来说,一个Express应用就是在调用各种中间件函数。封装了一些或许复杂但肯定是通用的功能, 非内置的中间件需要通过安装后,require到文件就可以运行

中间件的一些注意事项 和重点

一定要在路由前面定义中间键

客户端发送过来的请求可以调用多个中间键

执行完以后一定不要忘记调用next

写完next以后后面不要在写任何代码

连续调用多个中间键,多个中间键共享req和res