快递中的压缩中间件顺序

时间:2017-10-27 06:52:06

标签: node.js express

app.use()的Express API文档说:

  

中间件功能是按顺序执行的,因此中间件包含的顺序非常重要。

然后,我在整个地方看到这样的代码:

import compression from 'compression';
import api from './api';
// some code 
app.use(compression() );
// some more code 
app.use(api);

api是执行res.send()次呼叫的路由器。

正如我所见,压缩中间件在发送respose之前已经注册。然后它如何压缩响应?在res.send()调用之后是否有某种挂钩来注册回调?

1 个答案:

答案 0 :(得分:1)

压缩中间件按顺序执行,但它会使res.write res.onres.end函数重载。因此,当api稍后调用它们时,它将运行压缩代码。

参考:https://github.com/expressjs/compression/blob/93586e75a0a1c5bbfd353c4cec1cfcee2e52adde/index.js#L78