**已关闭。**此问题正在寻求书籍、工具、软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答复。
我们不允许问题寻求书籍,工具,软件库等的建议。您可以编辑问题,以便可以用事实和引用来回答。
2天前关闭。
截至2天前,社区正在审查是否重新讨论此问题。
Improve this question
我想有一个中间件功能,修改响应体。
这是一个快速服务器。
类似于:
function modify(req, res, next){
res.on('send', function(){
res.body = res.body + "modified"
});
next();
}
express.use(modify);
我不知道该听什么节目。任何帮助或文件将不胜感激。
5条答案
按热度按时间omvjsjqw1#
您不需要监听任何事件。快去吧
和
use
它之后,你use
路由器。这样,在所有的路由都执行之后,您就可以修改正文了8qgya5xd2#
我相信OP实际上希望在中间件处理完请求后修改响应流。请看捆绑的Compress中间件实现,以了解如何完成此操作。Connect monkey对
ServerResponse
原型进行修补,以便在调用writeHead
时发出header
事件,但在完成之前。cnh2zyt33#
express-mung就是为此而设计的。而不是事件,它只是更多的中间件。您的示例将类似于
bjp0bcyl4#
覆盖响应的write方法在Express4中似乎对我很有效。这允许修改响应的主体,即使它是一个流。
只需确保在任何其他可能修改响应的中间件之前注册此中间件。
lyr7nygr5#
似乎有一个叫做
connect-static-transform
的模块可以做到这一点,看看吧:https://github.com/KenPowers/connect-static-transform
一个连接中间件,允许在提供静态文件之前对其进行转换。
而且它还附带了例子,比如this one。