ExpressJs可以压缩除静态文件以外的http请求吗?

时间:2016-03-06 12:33:57

标签: javascript http express compression

我正在使用express 4.x并在我的app.js中开启了压缩中间件,如下所示:

var compression = require('compression');

var app = express();

app.use(compression());
app.use('/',               require('./static'));
app.use('/api/xxx',        require('./api/xxx'));

当我在Safari Web检查器中检查时,某些文件(例如我的app.js)确实已压缩,您可以看到文件大小的差异(虽然很小):

enter image description here

但其他人喜欢api请求不是:

enter image description here

考虑到我的服务器只是根据请求发送json,为什么传输的数据没有被大量压缩,大小似乎没有差别?

1 个答案:

答案 0 :(得分:0)

这是因为您需要设置压缩级别。

请阅读此处的文档:https://github.com/expressjs/compression

我的设置为最大压缩,如下所示:

// Compress content
app.use(compression({
    level: 9,
    memLevel: 9
}));