阿里巴巴
1、请简要介绍一下Koa2中间件原理。
Koa2中间件,主要由四大部分构成,application、context、request、response构成,在application中通过use来注册我们所要使用的中间件,在createServer的时候传入一个回调函数,在这个回调函数里面,依次来执行我们的中间件。那么就是说,当我们的server监听到相应的请求之后,就会去执行这些注册的中间件。那么难点就来了,如何递归执行我们的中间件呢, koa2提供了一个compose函数,这也是koa2的核心中的核心,它通过遍历中间件,返回一个dispatch函数,这个dispatch函数是个递归调用函数,也就是在dispatch里面执行我们的响应的中间件。
2、请问你使用过哪些Koa2中间件?你写过哪些koa2中间件?
koa2中间件在项目中的使用还是比较频繁的,我主要使用到了koa-router、koa-session、koa-bodyparser和koa-static等中间件。当然我也自己写过一些中间件,例如在项目中,我曾经写过接口请求及返回内容、耗时情况的日志记录中间件;风控拦截中间件;前端跨域代理等中间件。
3、在你的项目中有没有涉及到Cluster?
当然,是涉及到的(即使没用到,至少也说一点,装一下,让面试官觉得你涉猎很广)。我记得我之前做过这样一