在 Node JS Express 中,我们可以编写中间件来拦截对任一方的请求
- 通过调用
next
调用链中的下一个中间件 - 通过调用
res.send
或res
提供的类似函数结束链
这意味着,每次我们想要结束请求并在特定中间件中发送响应时,我们都必须添加(至少)以下代码片段。
res.send();
有没有办法编写这样的响应帧中间件:
responseFrame = (res,req,responseData) => {
res.send(responseData);
}
并且在route.js
中,在所有路径上使用这个中间件
app.use(responseFrame);
然后,我们只需使用 next()
结束任何中间件,只要我们定义正确的路由,Express 就会负责发送响应(如果下一个中间件是 >responseFrame
)
最佳答案
您可以使用 res.locals 来实现此目的。
关于node.js - Nodejs Express如何编写中间件来处理所有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50211609/