在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 httpMeth1 = (req, res, next) => { console.log('我是请求1') next() } const httpMeth2 = (req, res, next) => { console.log('我是请求2') next() } const httpMeth3 = (req, res, next) => { console.log('我是请求3') next() } // 中间件数组 const allHttpMeth = [httpMeth1, httpMeth2, httpMeth3] function run (req, res) { const next = () => { // 获取中间件 const allHttpMethitem = allHttpMeth.shift() if (allHttpMethitem) { // 执行 allHttpMethitem(req, res, next) } } next() } run() // 模拟请求发起
登录后复制
如果中间件中有异步操作,需要在异步操作的流程结束后再调用next()方法,否则中间件不能按顺序执行
推荐学习:《nodejs视频教程》
以上就是node的中间件是什么的详细内容,更多请关注【创想鸟】其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。