0

我使用compress()中间件,把它放在configure()的第一个。

app.configure('all', function(){
  app.use(express.compress());
  ...
  app.use(express.static('public'), { maxAge: oneMonth });
})

如何检查我的内容是否已压缩?我遇到了一个奇怪的情况:1)在我的开发机器上:我要求 localhost:4000/mystyle.css - 看不到内容编码:gzip

2)当我在生产中部署它时,如果我请求它自己的文件 mydomain.com/mystyle.css - 我看到那里看到 Content-encoding: gzip

3)我请求 mydomain.com 并在 chrome 开发工具中的 Network 中查看,找到 mystyle.css 并且我没有看到 Content-encoding: gzip

4) 我使用不同的服务来检查我的内容是否被压缩,有些人说它是,有些人说它不是。

怎么回事?有人可以解释一下吗?

4

1 回答 1

2

您的问题是您对 app.configure 的使用。这在很大程度上已被弃用,但您专门使用它来寻找all环境。

文档解释说:“由于遗留原因,此方法仍然存在,并且实际上是一个 if 语句,如下面的片段所示。”

相反,只需使用 app.use 而不将它们包装在配置语句中。

于 2013-09-22T02:53:33.777 回答