中间件

99 阅读1分钟

Express中间件 :
Express中间件是⼀个函数或函数链,它们在处理请求和响应之间执⾏⼀些操作。中间件充当了Express 应⽤程序的“中间层”,可以⽤于执⾏各种任务,如身份验证、⽇志记录、数据转换和错误处理。中间件 可以在路由处理程序之前或之后执⾏,允许您在请求流程中添加⾃定义逻辑。 创建⾃定义中间件
Express 的中间件,本质上就是⼀个 function 处理函数

注意:中间件函数的形参列表中,必须包含 next 参数,⽽路由处理函数中只包含 req 和 res

next 函数的作⽤:
next 函数是实现多个中间件连续调⽤的关键,它表示把流转关系转交给下⼀个中间件或路由
中间件初体验:
全局⽣效的中间件:是客户端发起的任何请求,达到服务器之后,都会触发的中间件

  • 通过app.use(中间件函数),即可定义⼀个全局⽣效的中间件

      const express = require('express');
      const bodyParser = require('body-parser')
      const cors = require('cors')
    
      const app = express();
      app.use(bodyParser.urlencoded({ extended: false }))
      app.use(cors())
    
      const todoRouter = require('./router/todoRouter');
      app.use('/todo', todoRouter);
    
    
      app.listen(3000,() => {
          console.log("服务启动成功,运行在 http://localhost:3000");
      })
    

中间件的5个使⽤注意事项:

  1. ⼀定要在路由之前注册中间件,如果直接匹配到路由就会直接响应了。
  2. 客户端发送过来的请求,可以连续调⽤多个中间件进⾏处理
  3. 执⾏完中间件的业务代码之后,不要忘记调⽤ next() 函数
  4. 为了防⽌代码逻辑混乱,调⽤ next() 函数后不要再写额外的代码
  5. 连续调⽤多个中间件时,多个中间件之间,共享req 和 res 对象