express(使用中间件)

Express是一个路由的中间件Web框架,其自身只具有最低程度的功能:Express应用程序基本上是一系列中间件函数调用

中间件函数能够访问请求对象 (req)、响应对象 (res) 以及应用程序的请求/响应循环中的下一个中间件函数。下一个中间件函数通常由名为 next 的变量来表示。

中间件函数可以执行以下任务:

  • 执行任何代码。
  • 对请求和响应对象进行更改。
  • 结束请求/响应循环。
  • 调用堆栈中的下一个中间件函数。

如果当前中间件函数没有结束请求/响应循环,那么它必须调用 next(),以将控制权传递给下一个中间件函数。否则,请求将保持挂起状态。

Express 应用程序可以使用以下类型的中间件:

您可以使用可选安装路径来装入应用层和路由器层中间件。 还可以将一系列中间件函数一起装入,这样会在安装点创建中间件系统的子堆栈

一 应用层中间件

使用app.use()和app.METHOD() 函数将应用层中间件绑定到应用程序对象的实例,其中METHOD()是中间件函数处理的请求的小写HTTP()方法

要跳过路由器中间件堆栈中剩余的中间件函数,调用next('route')将控制权传递给下一个路由。

next('route')仅在使用app.METHOD() 或 router.METHOD() 函数装入的中间件函数中有效。


二 路由器层中间件

路由器层中间件的工作方式与应用层中间件基本相同,差异之处在与它绑定的是express.Router()的实例。

var router = express.Router();

使用 router.use() 和 router.METHOD() 函数装入路由器层中间件。


三 错误处理中间件函数

错误处理中间件始终采用4个自变量。必须是提供4个自变量,以将函数表示为错误处理中间件函数。即使无需使用 next 对象,也必须指定该对象以保持特征符的有效性。否则,next 对象将被解释为常规中间件,从而无法处理错误。

错误处理中间件函数的定义方式与其他中间件函数基本相同,差别在于错误处理函数有四个自变量而不是三个,专门具有特征符 (err, req, res, next)


四 内置中间件

自 V4.x 起,Express 不再依赖于 Connect。除 express.static 外,先前 Express 随附的所有中间件函数现在以单独模块的形式提供。

express.static(root, [options])

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

root 自变量指定从其中提供静态资源的根目录。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值