express中间件的基本知识点

中间件函数是可以访问请求对象 ( req)、响应对象( res) 以及应用程序请求-响应周期中的下一个中间件函数的函数。下一个中间件函数通常由名为 的变量表示next。

功能

  • 执行任意代码。
  • 更改请求和响应对象。
  • 结束请求-响应周期。
  • 调用堆栈中的下一个中间件函数。

如果当前的中间件函数没有结束请求-响应周期,则必须调用next()将控制权传递给下一个中间件函数。否则,请求将被挂起。

中间件种类

1.应用层中间件
2.路由器级中间件
3.错误处理中间件
4.内置中间件
5.第三方中间件

中间件的目的都相同,都是在请求之前做一些事情。通过next转往下一个中间件,其中,路由级中间件调用next('router') 将控制权从路由器实例传回,此时跳过路由器中间件的其余功能。错误处理中间件必须四个参数,哪怕你那些参数你用不到。express.static、express.json和express.urlencoded为内置中间件。

中间件汇总

地址:https://www.expressjs.com.cn/resources/middleware.html

常见问题

为什么我在子路由中写的中间件会触发两次打印
当子路由导出之后,在app.js中注册时,是以默认的斜杠注册,便会发生;因为当发起请求的时候,他会先到app.js中查询,然后再到子路由中查询。
类似这种注册方式:app.use('/', indexRouter);
因此解决方案是给加前缀

以上便是中间件相关,实不相瞒,想要您一个赞~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • express学习——中间件 Express是什么? Express是一个基于Node.js平台的web应用开发框...
    文仔CXKSNLXX阅读 451评论 0 0
  • Express框架是由路由和中间件构成的一个web开发框架。 1. Express 中间件 中间件是Express...
    卓三阳阅读 1,986评论 0 1
  • 使用中间件 Express是一种路由和中间件Web框架,它具有自己的最小功能:Express应用程序本质上是一系列...
    硅谷干货阅读 1,114评论 0 1
  • Express 是一个路由和中间件 Web 框架,其自身只具有最低程度的功能:Express 应用程序基本上是一系...
    simuty阅读 4,603评论 0 3
  • 中间件的概念 什么是中间件 中间件(Middleware),特指业务流程的中间处理环节。 Express 中间件的...
    马佳乐阅读 754评论 0 1