Nodejs|面试官:说说对中间件概念的理解,如何封装 node 中间件?

一、是什么

中间件(Middleware)是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的

在NodeJS中,中间件主要是指封装http请求细节处理的方法

例如在express、koa等web框架中,中间件的本质为一个回调函数,参数包含请求对象、响应对象和执行下一个中间件的函数
Nodejs|面试官:说说对中间件概念的理解,如何封装 node 中间件?_第1张图片
开始-》请求-》业务逻辑-》响应-》结束
在这些中间件函数中,我们可以执行业务逻辑代码,修改请求和响应对象、返回响应数据等操作

二、封装

koa是基于NodeJS当前比较流行的web框架,本身支持的功能并不多,功能都可以通过中间件拓展实现。通过添加不同的中间件,实现不同的需求,从而构建一个 Koa 应用

Koa 中间件采用的是洋葱圈模型,每次执行下一个中间件传入两个参数:

ctx :封装了request 和 response 的变量
next :进入下一个要执行的中间件的函数
Nodejs|面试官:说说对中间件概念的理解,如何封装 node 中间件?_第2张图片
下面就针对koa进行中间件的封装:

Koa的中间件就是函数,可以是async 函数,或是普通函数


你可能感兴趣的:(前端八股文,中间件,java,开发语言)