node中express的路由,中间件和挂载
1. 路由
- 简单的理解就是分类,将不同的请求我们分门别类,登录,页面操作,购买…等等不同的请求,我们将他们进行一级二级…分类,利用我们的路由表来实现。路由表中可以进行二级分类,继续通过请求类型的不同继续分类进行处理。
2. 中间件
-
在两个事情中间, 给你 断开, 加入一个内容
- 加入得这个内容, 可以做一些事情, 可以选择继续走下一条路 使用next
- 根据加入位置得不同, 叫做不同得名字
- 全局中间件 req, res, next
=> 所有请求都要经历, 直接挂载再 app 上
=> app.use(函数) - 路由级中间件 req, res, next
=> 再进入路由表, 到匹配对应请求标识符之间添加得
=> 只对当前这个路由表生效
=> router.use(函数) - 路由应用级中间件 req, res, next
=> 书写在路由表中
=> 再匹配到指定路径标识符以后, 事件处理函数事件
=> 只对匹配到得该路由标识符生效
=> router.get(‘路径标识符’, 中间件函数, 路由处理函数) - 全局错误处理中间件
=> 一般书写再服务得最后
=> 一般用来返回最终结果
=> 接收四个参数 err req res next
-> 当前面右任意一个 next(参数)
=> app.use((err, req, res, next) => {})
-
请务必理解下图:
-
从客户端到我们返回内容之间是一个闭路关系,在请求到达我们返回内容间我们可以做很多事情,那么我们通过不同的请求分类,处理不同的业务,不管携带什么内容,token还是session还是cookie还是…都是为了我们来进行分类处理业务逻辑使用的,因为只凭借url传递的信息不够我们来进行业务处理。
-
那么在处理请求时,挂载中间件,路由表…就不难理解为我们处理业务分类来使用,根据中间件插入的位置不同那么它所对应的名称不同,但是实质上都是为了完成我们的业务处理。