本文带大家了解一下node中Express的消息中间件,介绍一下消息中间件这个概念、消息中间件归类,希望能帮助到大家!
Express是一个简单而灵活多变的WebAPP开发架构,可用于迅速地搭建一个作用完整的Web应用软件;作为一个根据Node.js封装形式的顶层服务框架,Express带来了更简约的API,根据消息中间件和路由器使程序的组织协调更容易。
消息中间件这个概念
消息中间件,就是把要求处理函数开展模块化设计溶解后多个子处理函数,一些例子处理函数可以形成一个消息中间件局部变量;
消息中间件,要在应用软件请求-回应周期内可以浏览要求目标req、回应目标res和next()函数的函数,next()函数公式主要从事将主动权交到下一个消息中间件;假如现阶段消息中间件并没有结束要求,而且next()没被启用,那样要求要被挂起来,后边界定的消息中间件将无法强制执行。、
消息中间件的执行顺序,严格执行申请注册顺序从上向下逐渐配对实行。
消息中间件函数公式,能够实行下列每日任务:
- 实行一切编码
- 对请求和响应目标进行调整
- 结束要求-回应周期时间
- 调用堆栈中下部一个消息中间件(next)
消息中间件的适用范围便是解决HTTP要求,用于进行特定每日任务如登录状态认证、要求日志、异常处理、Cookie等。
消息中间件归类
1 应用软件级消息中间件
应用app.use()函数公式将应用软件级消息中间件关联到运用对象实例上
const app = express();
/*表明配对一切路由器*/
app.use(function(req,res,next){
console.log('要求时长:' Date.now());
/*表明配对进行这一消息中间件就再往下实行。*/
next()
})
2 路由器级消息中间件
路由器级消息中间件与应用软件级消息中间件的工作状态同样,仅仅他们被关联到无线路由器案例上
import express from 'express';
const app = express();
const router = express.router();
router.use(
'/user',
function (req, res, next) {
console.log(1);
next();
},
function (req, res, next) {
console.log(2);
next();
},
function (rex, res, next) {
console.log(3);
next();
}
);
3 异常处理消息中间件
异常处理消息中间件一直必须4个主要参数,需要提供4个主要参数把其标志为异常处理消息中间件函数公式。即便不用next函数,也要特定它。不然next函数被理解为基本消息中间件,而且没法处理错误
app.use(function(err, req, res, next){
console.log(err.stack);
res.status(500).send(err);
})
4 内嵌消息中间件
Express主要有以下内嵌消息中间件:
- express.static: 给予静态资源服务项目
- express.router: 给予路由器服务项目
5 第三方消息中间件
第三方消息中间件如body-parser、cookie-parser等
6 自定消息中间件
自定消息中间件被定义为一个函数,接纳req,res,next主要参数,应用app.use()申请注册消息中间件
function log(req,res,next) {
req.requestTime = Date.now();
next()
}
// 申请注册自定消息中间件
app.use(log);
// 自定可设置消息中间件
function log(options) {
return function (req,res,next) {
// 依据options完成消息中间件作用
next
}
}
大量node基本知识,请访问:nodejs 实例教程!!
以上就是关于node Express学习之聊一聊消息中间件的具体内容,大量欢迎关注AdminJS其他类似文章!