中间件是在每次请求之前和之后执行的一段代码。这有助于您创建共享功能,如日志记录和授权,而无需为每个端点实施代码。
中间件的顺序通常称为中间件链。
app.use(middleware)
这是我们将中间件附加到每个请求的方式。当涉及到数据库连接时,我们倾向于将它从请求端点中删除,因为它是应用程序全局的。
现在,我们接下来的原因是当函数完成时告诉链。这是一个回调模式。我们还希望能够在链中拾取错误(异常),以便我们可以为我们的应用程序添加共享功能。 JavaScript不是类型定义的,所以我们注册两个函数之间差异的唯一方法是注册参数的数量。这就是错误处理有4个参数的原因。
这里是记录和错误处理
app.use(function(req, res, next) {
console.log('request made to server');
next();
});
app.use(function(error, req, res, next) {
console.log('an error occurred in the code');
next();
});
app.get('/', function(req, res) {
/* Your logic here */
});
如果您希望使用只有几个端点特定中间件端点的一个例子,你可以注册他们直接
app.get('/', middleware, function(res, res) {
/* Your logic here */
});
我希望这有助于理解中间件。中间件是处理堆栈的一部分,而不是协议调用。
不,中间件位于浏览器和http服务器之间 – Sebas