Express 中间件

Express程序基本上是一系列中间件函数的调用。中间件就是一个函数, 接受 reqresnext几个参数。

中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束请求/响应循环, 通过 next函数调用堆栈中下一个中间件函数。

必须通过 next 将控制权交给下一个中间件函数, 否则, 请求将保持挂起状态。

错误处理中间件始终采用四个变量, 第一个参数就是错误信息。

    app.use((err, req, res, next) => {
        next()
    })

Express 中唯一内置的中间件函数是 express.static。此函数基于 serve-static,负责提供 Express 应用程序的静态资源。

例子

app.use((req, res, next) => {
    console.log(1)
    next()
})

app.use((req, res, next) => {
    console.log(2)
    next()
})

app.get('/list', (req, res, next) => {
    console.log('get /list')
    next()
})

app.post('/login', (req, res, next) => {
    console.log('post /login')
    next()
})

app.post('/login/user', (req, res, next) => {
    console.log('post /login/user')
    next()
})
  • 如果开启一个服务, 端口号为3000。 那么直接访问 http://localhost:3000 会依次打印
1
2
  • 访问 http://localhost:3000/list get方, 依次打印
1
2
get /list
  • 访问 http://localhost:3000/login/user post请求, 依次打印
1
2
post /login/user

理解Express 中间件的更多相关文章

  1. 理解Express中间件

    阅读目录 一:body-parser中间件 二:cookie-parser中间件 三:express-session 中间件 四:理解使用morgan记录操作日志 回到顶部 一:body-parser ...

  2. 浅析express以及express中间件

    一.express: 1.express: Express是什么? Express是基于node.js平台的web应用开发框架: 作用:可以实现快速搭建骨架: 优点:开发web应用更加方便,更加快捷. ...

  3. 理解express中的中间件

    express是轻量灵活的node.js Web应用框架”.它可以帮助你快速搭建web应用.express是一个自身功能极简,完全是由**路由**和**中间件**构成的一个web开发框架,本质上说,一 ...

  4. express中间件的理解

    参考 :https://blog.csdn.net/huang100qi/article/details/80220012 Express中间件分为三种内置中间件.自定义中间件.第三方中间件 可以与n ...

  5. express 中间件的理解

    nodejs(这指express) 中间件 铺垫: 一个请求发送到服务器,要经历一个生命周期,服务端要: 监听请求-解析请求-响应请求,服务器在处理这一过程的时候,有时候就很复杂了,将这些复杂的业务拆 ...

  6. Express中间件的原理及实现

    在Node开发中免不了要使用框架,比如express.koa.koa2拿使用的最多的express来举例子开发中肯定会用到很多类似于下面的这种代码 var express = require('exp ...

  7. 理解Express express.static 和 __direname 及 __firename的含义

    理解Express express.static 和 __direname 及 __firename的含义 一:理解 app.use(express.static(__direname + '/pub ...

  8. 深入理解 Express.js

    本文针对那些对Node.js有一定了解的读者.假设你已经知道如何运行Node代码,使用npm安装依赖模块.但我保证,你并不需要是这方面的专家.本文针对的是Express 3.2.5版本,以介绍相关概念 ...

  9. Express中间件简单的实现原理

    上一篇理解Express的使用之后, 再总结一篇Express中间件的简单实现原理. 我们知道Express中间件就是一个个的函数, 那么怎么让这些函数有序的执行呢? 那就需要我们调用 next 函数 ...

随机推荐

  1. giihub上的关于js的43道题目

    参考 https://github.com/lydiahallie/javascript-questions

  2. 牛客假日团队赛1 D.Promotion Counting

    链接: https://ac.nowcoder.com/acm/contest/918/D 题意: Bessie the cow is helping Farmer John run the USA ...

  3. hive_hiveserver2 hive-site.xml config and start

    hive-site.xml # vi hive-site.xml <configuration> <property> <name>javax.jdo.option ...

  4. Silverlight Telerik 学习之主题的设置

    Telerik控件版本:RadControls for Silverlight Q1 2013 当前的Telerik Silverlight 控件支持以下主题 Office Black - 这是默认主 ...

  5. HDU 5792 L - World is Exploding 。容斥原理 + 树状数组 + 离散化

    题目,要求找出有多少对这样的东西,四个数,并且满足num[a]<num[b] &&num[c]>num[d] 要做这题,首先要懂得用树状数组,我设,下面的小于和大于都是严格 ...

  6. Linux Shell命令系列(2)

    6. history命令 “history”命令就是历史记录.它显示了在终端中所执行过的所有命令的历史. 7. sudo命令 “sudo”(super user do)命令允许授权用户执行超级用户或者 ...

  7. 还不知道如何使用 IDEA ?教你三招快速掌握 IDEA

    前言 IntelliJ IDEA 是一个非常强大的 IDE,拥有许多功能.在 IDEA 中大部分功能都可以用快捷键去完成,如果掌握了大部分快捷键,可以只使用键盘开发了. ps: 最近正在练习快捷键,准 ...

  8. Mac开启自带的Apache服务器

    OSX版本10.13.6 1.开启 sudo apachectl start 2.关闭 sudo apachectl stop 3.重启 sudo apachectl restart 默认的Apach ...

  9. SpringBoot | 第零章:前言

    缘起 前段时间公司领导叫编写一两课关于springboot的基础知识培训课程,说实话,也是今年年初才开始接触了SpringBoot这个脚手架,使用了之后才发现打开了一个新世界.再之后也没有一些系统的学 ...

  10. Sublime Text插件列表

    本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...