这篇文章主要介绍“node的中间件怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node的中间件怎么实现”文章能帮助大家解决问题。
在node中,中间件是一种功能的封装方式,主要是指封装所有http请求细节处理的方法;http的请求通常包含了许多的内容,因此可以利用中间件来简化及隔离这些基础设施与业务逻辑之间的细节。
本教程操作环境:windows10系统、nodejs 12.19.0版本、Dell G3电脑。
node的中间件是什么
nodejs中间件从概念上讲是一种功能的封装方式,主要是指封装所有Http请求细节处理的方法。
在nodeJS中,中间件主要是指封装所有Http请求细节处理的方法,一次Http请求通常包含很多工作:如记录日志,IP过滤,查询字符串、请求体解析,cookie处理、权限验证、参数验证、异常处理等、但对web应用而言,并不希望接触到这么多细节性的处理,因此使用中间件来简化及隔离这些基础设施与业务逻辑之间的细节,让开发者更关注在业务的开发上,他的工作模式如下:
中间件机制核心实现
中间件是从Http请求发起到响应结束过程中的处理方法,通常需要对请求和响应进行处理,因此一个基本的中间件的形式如下:
const middleware = (req, res, next) => {
// TODO
next()
}
模拟最基本的中间件
// 定义简单的三个中间件
const httpMeth2 = (req, res, next) => {
console.log('我是请求1')
next()
}
const httpMeth3 = (req, res, next) => {
console.log('我是请求2')
next()
}
const httpMeth4 = (req, res, next) => {
console.log('我是请求3')
next()
}
// 中间件数组
const allHttpMeth = [httpMeth2, httpMeth3, httpMeth4]
function run (req, res) {
const next = () => {
// 获取中间件
const allHttpMethitem = allHttpMeth.shift()
if (allHttpMethitem) {
// 执行
allHttpMethitem(req, res, next)
}
}
next()
}
run() // 模拟请求发起
如果中间件中有异步操作,需要在异步操作的流程结束后再调用next()方法,否则中间件不能按顺序执行
关于“node的中间件怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。