Express.js中间件修改响应

我想用中间件函数来表示修改响应。

app.use(function(request, response, next) { .. do something .. next(); // moves to next middleware }); 

我可以修改将传递给以下中间件function的requestresponse对象。 有没有一个惯例或最佳做法来修改这些对象?

在我的具体情况下,我设置res.body因为通过使用res.write()它实际上已经发送响应有效载荷。 是否有一些属性可以存储有效负载,稍后将由下一个中间件function发送?

您可以在其他修改主体的中间件上build模中间件,例如Connect的压缩 。 你会发现你需要钩入响应stream,因为Express和Connect处理stream而不是静态对象。