Node.js Express中间件理解及中间件分类和作用

 更新时间:2026年04月28日 09:00:24   作者:前端小超人rui  
文章主要介绍了Express中间件的概念和使用,包括中间件的核心作用、标准形式、分类、定义以及内置中间件和第三方中间件的例子,以及它们的价值,总的来说,文章详细介绍了Express中间件的相关知识和应用

中间件:拦截HTTP请求的函数

一 核心作用

  • 请求到达路由前执行操作(如解析、校验)
  • 响应发送前执行操作(如日志、处理)
  • 中间件的标准形式:
function middleware(req,res,next){
  //处理逻辑(解析/校验等)
  next() ;//传递控制权给下一个中间件/路由
}
  • Express应用本质是中间件链组合,每个请求从头到尾以此处理

二 中间件分类

  • 应用程序级中间件
    • 通过app.use()挂载,作用于全局或路径
    • 用于统一处理解析、日志、安全等全局逻辑
app.use(express.json()) // 解析JSON 请求体
//全局日志记录
app.use((req,res,next)=>{
  console.log(`[${Date.now()}]${req.method}${req.url}`)
  next()
})
  • 路由级中间件
    • 挂载在express.Router()实例上,仅作用当前路由模块
    • 用于模块化组织业务逻辑
const router =express.Router()
router.use((req,res,next)=>{
  console.log('进入用户模块')
  next()
})
app.use('/users',router)
  • 错误处理中间件
    • 定义:捕获并处理错误,必须接收四个参数(err,req,res,next)
    • 统一返回错误响应,提升系统健壮性
 //错误中间件
app.use(()=>{
  res.send({
    status:1,
    msg:err instanceof Error?err.message:err,
  })
})
  • 内置中间件
    • 定义:Express原生提供,无需额外安装
    • 例子
      • express.static(‘public’):托管静态资源
      • express.json():解析JSON 请求体
      • express.urlencoded();解析请求体数据
  • 第三方中间件
    • 社区开发,npm 安装扩展功能
    • 例子
      • 数据验证:express-validator
      • 文件上传:multer
      • 解决跨域问题:cors
      • 价值;副高高频需求、成熟可靠

到此这篇关于Node.js Express中间件理解及中间件分类和作用的文章就介绍到这了,更多相关Node.js Express中间件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nodejs读取本地json文件,输出json数据接口方式

    Nodejs读取本地json文件,输出json数据接口方式

    这篇文章主要介绍了Nodejs读取本地json文件,输出json数据接口方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 快速解决brew安装特定版本flow的问题

    快速解决brew安装特定版本flow的问题

    今天小编就为大家分享一篇快速解决brew安装特定版本flow的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 简单谈谈关于 npm 5.0 的新坑

    简单谈谈关于 npm 5.0 的新坑

    最近使用到了npm5.0,第一次使用确实被惊艳了,但随着而来的是一些坑,下面这篇文章主要给大家简单介绍了关于npm 5的一些新坑,需要的朋友可以参考学习,下面来一起看看吧。
    2017-06-06
  • 使用Node.js给图片加水印的方法

    使用Node.js给图片加水印的方法

    使用Node.js给图片加水印,首先要确保本地安装了node环境。然后,我们进行图像编辑操作需要用到一个Node.js的库:images。具体详情大家可以通过本文了解下
    2016-11-11
  • node实现封装一个图片拼接插件

    node实现封装一个图片拼接插件

    这篇文章主要介绍了node实现封装一个图片拼接插件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • PHP和NodeJs开发的应用如何共用Session

    PHP和NodeJs开发的应用如何共用Session

    这篇文章主要介绍了PHP和NodeJs开发的应用如何共用Session的相关资料及思路,需要的朋友可以参考下
    2015-04-04
  • Node.js中使用mongoose操作mongodb数据库的方法

    Node.js中使用mongoose操作mongodb数据库的方法

    如何利用mongoose将数据写入mongodb数据库呢?操作方法很简单,下面小编给大家分享Node.js中使用mongoose操作mongodb数据库的方法,感兴趣的朋友一起看看吧
    2017-09-09
  • node.js中joi模块的基本使用方式

    node.js中joi模块的基本使用方式

    这篇文章主要介绍了node.js中joi模块的基本使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • nodejs连接mysql数据库简单封装示例-mysql模块

    nodejs连接mysql数据库简单封装示例-mysql模块

    本篇文章主要介绍了nodejs连接mysql数据库简单封装(mysql模块),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • 使用node.js实现对数据库进行CRUD操作

    使用node.js实现对数据库进行CRUD操作

    这篇文章主要为大家详细介绍了如何使用node.js实现对数据库进行CRUD(增删改查)操作,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2024-12-12

最新评论