2016-03-06 74 views
0

我用快遞4.x和在我app.js打開壓縮中間件這樣的:除了靜態文件,ExpressJs能否壓縮http請求?

var compression = require('compression'); 

var app = express(); 

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

當我在Safari的網絡督察檢查,一些文件,比如我的app.js確實壓縮,你可以看到一個差異(儘管小)的文件大小:

enter image description here

但其他類似的API請求不是:

enter image description here

似乎有沒有差異的大小,考慮到我的服務器根據請求簡單地發送json,爲什麼傳輸的數據沒有嚴重壓縮?

回答

0

這是因爲您需要設置壓縮級別。

在這裏閱讀文檔:https://github.com/expressjs/compression

礦設置爲最大壓縮,像這樣:

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