• 技术文章 >web前端 >js教程

    什么是Express中间件?Node中要怎么使用?

    青灯夜游青灯夜游2022-02-10 19:01:35转载141
    什么是Express中间件?Node中要怎么使用?下面本篇文章就来给大家介绍一下Express中间件的简单使用方法,希望对大家有所帮助!

    一、什么是Express中间件

    中间件特指业务流程的中间处理环节。

    二、Express中间件的调用流程

    当一个请求到达Express 的服务器之后,可以连续调用多个中间件,从而对这次请求进行预处理。

    三、中间件格式

    本质上就是function处理函数

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

    // next参数必须在最后一个传入
    const mw = (req, res, next) => {
        ...
        // next()必须在最后调用
        next()
    }

    四、next()函数的作用

    next函数是实现多个中间件连续调用的关键,它表示把流转关系转交给下一个中间件或路由。

    五、全局生效的中间件

    客户端发起的任何请求,到达服务器之后,都会触发的中间件,叫做全局生效的中间件。 通过调用server.use(中间件函数),即可定义一个全局生效的中间件,示例代码如下:

    const mw = (req, res, next) => {
        next()
    }
    
    const mw1 = (req, res, next) => {
        next()
    }
    
    // 全局生效的中间件,中间件调用顺序以传入顺序为准
    server.use(mw,mw1)

    六、局部生效的中间件

    局部中间件只在某一个指定的路由路径生效

    const mw = (req, res, next) => {
        next()
    }
    const mw1 = (req, res, next) => {
        next()
    }
    // 局部生效的中间件
    server.get('/',mw,(req,res)=>{
        res.send('路径:/')
    })
    
    
    
    // 定义多个局部生效的中间件
    // 1、直接逗号分隔
    server.get('/',mw,mw1,(req,res)=>{
        res.send('路径:/')
    })
    // 2、或者使用数组包含
    server.get('/',[mw,mw1],(req,res)=>{
        res.send('路径:/')
    })

    七、中间件的作用

    多个中间件之间,共享同一份req和res。基于这样的特性,我们可以在上游的中间件中,统一为req或 res对象添加自定义的属性或方法,供下游的中间件或路由进行使用。

    const mw = (req, res, next) => {
        // 添加属性
        req.startTime=new Date()
        next()
    }

    八、Express中间件的五个注意点

    九、Express中间件的分类

    详细介绍:

    更多node相关知识,请访问:nodejs 教程

    以上就是什么是Express中间件?Node中要怎么使用?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:Node Express中间件
    上一篇:总结分享一些使用jQuery实现的DOM操作(收藏) 下一篇:聊聊Node.js + worker_threads如何实现多线程?(详解)

    相关文章推荐

    • nodejs http模块的方法有哪些• 聊聊node中怎么使用Nest.js 连接 MongoDB 数据库• 深入了解Node.js中的 Buffer(缓冲区)• 聊聊如何通过docker-compose将node服务部署到多套环境中• 聊聊Node中的各种I/O模型• 如何理解 Node.js 不是完全的单线程的程序(浅析)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网