13.路由

  1.express中的路由指客户端的请求与服务器处理函数间的映射关系

  2.express中的路由由请求的类型,请求的URL地址,处理函数组成

  3.app.METHOD(PATH,HANDLER)

  4. 路由匹配顺序  a.按照定义的先后顺序进行匹配 b.请求类型和请求地址同时匹配成功才会调用相应的处理函数

14.模块化路由

  1.创建路由模块对应的.js文件,

  2.调用express.Router()函数创建路由对象

  3.向路由对象上挂载具体的路由

  4.使用module.exports向外共享路由对象

  5.使用app.use()函数注册路由模块

15.app.use()函数的作用是全局注册中间件

16.路由模块添加前缀 app.use('/api',router)

17.中间件

  a.对请求的预处理,本质是function处理函数。中间件函数的形参列表中,必须包含next参数,而路由函数中只包含res,req

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

  c.全局中间件 app.use(rt) 、局部生效中间件(不适用app.use()定义的中间件)

  d.中间件作用,共享一份req和res,基于这样的特性,我们可以在上游的中间件中,统一为req或res填加自定义的属性或者方法,供下游的中间件或路由进行使用

18.中间件使用注意事项

  a.中间件要在路由之前定义

  b.一个中间件可以有多个处理函数

  c.执行中间件以后调用next()

  d.为了防止代码混乱,next()函数后不写额外的代码

  e.连续调用多个中间件时,多个中间件之间,共享req和res对象

19.中间件的分类

  a.应用级别中间件(绑定到app.use())

  b.路由级别中间件(绑定到express.Router())

  c.错误级别中间件(必须有四个参数,(err,req,res,next),捕获错误,防止应用崩溃),需要注册在所有路由之后

  e.express内置中间件(express.static、express.json、express.urlencodeed)

  f.第三方中间件

20.自定义中间件,步骤:

  a.定义中间件

  b.监听req的data事件

  c.监听req的end事件

  d.使用querystring模块解析请求数据

  e.将解析出来的数据对象挂载为req.body

  f.将自定义的中间件封装为模块

express的使用:路由、中间件(二)的更多相关文章

  1. express 框架之 路由与中间件

    1.  什么是router路径,什么是middleware? 我们输入www.baidu.com 来访问百度的主页,浏览器会自动转换为 http://www.baidu.com:80/(省略一些参数) ...

  2. express中的中间件(middleware)、自定义中间件、静态文件中间件、路由中间件

    express文档地址 什么是中间件呢(middleware)?它是谁的中间件呢? 首先我们需要了解到请求和响应, 请求就是客户端发送请求给服务器, 响应就是,服务器根据客户端的请求返回给客户端的数据 ...

  3. express-18 路由

    简介 路由是网站或Web服务中最重要的一个方面:路由是将请求(由URL和HTTP方法指定)路由到处理它们的代码去的一种机制. 路由过去是基于文件的,这很简单,但不灵活. IA 是指内容的概念性组织.在 ...

  4. 【原创】express3.4.8源码解析之路由中间件

    前言 注意:旧文章转成markdown格式. 跟大家聊一个中间件,叫做路由中间件,它并非是connect中内置的中间件,而是在express中集成进去的. 显而易见,该中间件的用途就是 ------ ...

  5. express4.x 路由中间件

    路由中间件必须通过app挂载到对应的路由上,如: var express = require('express'); var router = express.Router(); var app = ...

  6. express4.x中路由中间件和挂载路径的关系

    express4.x 中一个路由中间件可以挂载到多个路由上,一个路由也可以绑定多个路由中间件,如: //多个路由匹配一个路由中间件 app.use(['/gre+t', '/hel{2}o'], gr ...

  7. ASP.NET Core路由中间件[1]: 终结点与URL的映射

    目录 一.路由注册 二.设置内联约束 三.默认路由参数 四.特殊的路由参数 借助路由系统提供的请求URL模式与对应终结点(Endpoint)之间的映射关系,我们可以将具有相同URL模式的请求分发给应用 ...

  8. ASP.NET Core路由中间件[3]: 终结点(Endpoint)

    到目前为止,ASP.NET Core提供了两种不同的路由解决方案.传统的路由系统以IRouter对象为核心,我们姑且将其称为IRouter路由.本章介绍的是最早发布于ASP.NET Core 2.2中 ...

  9. ASP.NET Core路由中间件[2]: 路由模式

    一个Web应用本质上体现为一组终结点的集合.终结点则体现为一个暴露在网络中可供外界采用HTTP协议调用的服务,路由的作用就是建立一个请求URL模式与对应终结点之间的映射关系.借助这个映射关系,客户端可 ...

  10. 三十一、【WCF路由中间件】WCFHosting服务主机的路由器与负载均衡和实现思路

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://pan.baid ...

随机推荐

  1. 一个小demo---递归计算子类下的某个值的总和

    public function demo($frames) { foreach ($frames as $k => $frame) { $frames[$k]['allCount'] = $fr ...

  2. Linux系统Shell脚本第一章:Shell脚本基础及时间同步

    目录 一.Shell脚本基础 1.Shell作用 2.什么是Shell脚本及处理逻辑 3.shell脚本基本格式 4. shell脚本执行方式 5.实操演示 二.Shell脚本中的变量 1.变量的作用 ...

  3. 关于CMDB

    关于CMDB: CMDB运维管理平台是由CMDB开发团队,针对目前服务器运维.监控,批量管理提出的一个开源. 易用.实用的跨平台服务器运维管理平台. 统筹来说cmdb就是将已有的规则化运维技术规则到运 ...

  4. js动态删除添加一行

    <div class="input-dyna-add"> <form class="form-inline form-group" role= ...

  5. 哲讯科技SAP医疗器械行业ERP解决方案

    哲讯科技SAP医疗器械行业ERP解决方案主要体现在以预测为指导,计划为执行的管理理念,完全做到实时的全过程的质量管理和质量跟踪.并且通过灵活的质量管理模块大大降低因实施GMP管理给企业带来的成本压力. ...

  6. 技术前沿:ISP芯片终极进化——VP芯片(AI视觉处理器)

    1.计算机视觉的定义 广义与狭义 从广义上说,计算机视觉就是"赋予机器自然视觉能力"的学科.自然视觉能力,就是指生物视觉系统体现的视觉能力. 从狭义上讲,计算机视觉是以图像(视频) ...

  7. 【服务器数据恢复】RAID6数据恢复案例

    服务器数据恢复环境:一台Web服务器中有一组由8块磁盘组建的raid6磁盘阵列,用来运行数据库和存储普通办公文件. 服务器故障:服务器raid6磁盘阵列中有两块硬盘离线,但是管理员没有注意到这种情况, ...

  8. 文本超出换行添加white-space:wrap无效

    场景描述: 在vue项目中,在Modal弹窗里面使用Form表单组件,然后在FormItem里面放一个div标签用来装文字内容.有时会出现内容超出Form表单宽度但是不换行的问题. 解决方法: 给di ...

  9. 采样定理与SDM

    1.信噪比=6.02N+1.76dB 对于这个经常引用的AD/DA转换器理论信噪比(SNR)公式,代表一个完美的N位ADC的理论性能.下面先计算N位模数转换器(ADC)的理论量化噪声.一旦通过计算均方 ...

  10. MySql密码忘记怎么办?

    第一步服务 net stop mysql 第二步,执行指令 mysqld --console --skip-grant-tables --user=mysql --shared-memory 第三步, ...