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中间件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Mac OS上安装使用Node.js的项目自动化构建工具Gulp

    在Mac OS上安装使用Node.js的项目自动化构建工具Gulp

    Gulp是一个在使用上比Grunt更加简洁的自动化工具(文中附有对比),和Node的npm包管理器配合使用非常方便,下面就记录一下在Mac OS上安装使用Node.js的项目自动化构建工具Gulp的方法:
    2016-06-06
  • Windows系统下Node.js的简单入门教程

    Windows系统下Node.js的简单入门教程

    这篇文章主要介绍了Windows系统下Node.js的简单入门教程,Node.js是用于后端编程的JavaScript框架,需要的朋友可以参考下
    2015-06-06
  • Thinkjs3新手入门之如何使用静态资源目录

    Thinkjs3新手入门之如何使用静态资源目录

    最近在学习thinkjs3,发现有些地方还是有必要整理下的,下面这篇文章主要给大家介绍了关于Thinkjs3新手入门之如何使用静态资源目录的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • Node.js服务端实战之服务启动过程详解

    Node.js服务端实战之服务启动过程详解

    这篇文章主要为大家介绍了Node.js服务端实战之服务启动过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • nodejs中实现sleep功能实例

    nodejs中实现sleep功能实例

    这篇文章主要介绍了nodejs中实现sleep功能实例,本文讲解了sleep功能的开发过程和使用效果及性能测试,需要的朋友可以参考下
    2015-03-03
  • nodejs检测因特网是否断开的解决方案

    nodejs检测因特网是否断开的解决方案

    这篇文章主要给大家介绍了关于nodejs如何检测因特网是否断开的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用nodejs具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 浅析Node.js查找字符串功能

    浅析Node.js查找字符串功能

    今天做项目的时候需要的一个问题,想查找一个字符串,但是忘记了,具体在那个文件里了,于是就想起来了node.js,毫无压力的找到了这个字符串,分享给大家
    2014-09-09
  • Nodejs Sequelize手册学习快速入门到应用

    Nodejs Sequelize手册学习快速入门到应用

    这篇文章主要为大家介绍了Nodejs Sequelize手册学习快速入门到应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • node.js通过Sequelize 连接MySQL的方法

    node.js通过Sequelize 连接MySQL的方法

    这篇文章主要介绍了node.js通过Sequelize 连接MySQL的方法,本文给大家介绍的非常详细,对大家的学习或工作,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 手把手教你如何修改npm的全局安装路径

    手把手教你如何修改npm的全局安装路径

    这篇文章主要介绍了如何修改npm全局安装路径的相关资料,通过详细图文讲解了如何创建自定义路径、配置npm全局路径和缓存路径、验证配置、配置环境变量、测试配置以及其他可选配置,需要的朋友可以参考下
    2025-04-04

最新评论