express的原理及中间件的认识
中间件
一个请求发送到服务器后,它的生命周期是先收到request请求,然后服务端处理,处理完了以后发送reponse响应回去,当业务逻辑复杂的时候,为了便于明确和服务,需要把处理的事情分一下,分配成几个部分来做,而每个部分就是一个中间件。中间件的本质实际是一个函数,这个函数可以接受三个参数,req、res、next,其中req即客户端发送过来的请求,res即可以进行响应,next即后面还有其他的中间件,通过next可以交出req、res的控制权,后续的中间件继续处理。
express实现的原理
当前端一个请求传到服务器的时候,首先会经过request,然后是一系列的服务端处理,也就是中间件处理,存放于数组中的中间件采用后进先出的栈模式处理请求,最先入栈的中间件处理完请求之后,通过next将执行权交给第二个入栈的中间件,依次类推,直到数组末尾或者中间某个中间件没有调用next()函数,最后再将处理完的结果response回前端