对于每个中间件,Express传递一个res和一个req对象.这些对象分别扩展了来自http.ServerResponse和来自的本地对象http.ClientRequest.我想知道是否可以覆盖或扩展响应对象的方法.
例如,而不是res.render('home', jsonData);,我想延长res一个名为customRender一个自定义的方法,并使用它像这样:res.customRender().
我没有陷入某个特定问题或其他任何问题.我只是想学习如何扩展本机对象,或者像本例一样,来自Node.js中第三方模块的对象
在调用 app.json 后,我需要在 express 中向 app.json 和 app.jsonp 响应中添加一些数据,向其中添加中间件的正确方法是什么?我知道我可能会做这样的事情:
var jsonTemp = function(status, data) {
if (!data) {
data = status;
status = 200;
}
data.extraValue = 'foo';
res.json(status, data);
}
res.json = jsonTemp;
Run Code Online (Sandbox Code Playgroud)
但是像这样的猴子修补似乎是一个“坏主意”。是否有一种官方方法可以使用某种中间件来连接响应?