看了文档,文档的说明是一系列的函数
但面试官说那不是中间件,只是路由函数
中间件传入的参数是options
希望有人可以解答一下
你说的中间件是一系列函数,从文字角度来说,这个没错。
“中间件传入的参数是options”,这里的中间件应该只是 第三方中间件。
官方的中间件 是一个很广的概念,
app.use(function (req, res, next) {
console.log('Time:', Date.now());
next();
});
笼统的说,app.use()传入的任何function都可以叫中间件,但是,这样就不太专业了, 你要是传个函数,什么也不做,或者做一些没用的事,那自然不能用中间件这么专业的词语了,所以,只要你这个function做的是有效的,有用的事,并且实现的好,帮你解决了响应过程中的关键问题,就可以叫中间件了。
而那句“中间件传入的参数是option”,那只不过是一些封装好了的第三方中间件而已,类似于cookie-parser
。
如果这是面试官说的,只能说他理解太片面了,可能连官方文档都没看过。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
我个人觉得你可以直接看官方的样例里面的几个例子嘛, 比如
cookie-parser
就是一个典型的也符合你面试官口中的中间件.不过我个人的理解更倾向于, 只要函数的实现方式是类似于
这种方式的函数, 都可以被称为中间件