天天看點

YSlow優化之Compress components with gzip (nodejs+express)

強烈推薦YSlow網站優化工具,簡單好使,我用的是Firefox下的YSlow:

https://addons.mozilla.org/en-US/firefox/addon/yslow/

Compress components with gzip(用gzip壓縮元件)

        gzip的壓縮率非常高,通常可以高達70%,也就是說,如果你的網頁有30K,壓縮之後就變成9K,對于大部分網站,顯然可以明顯提高浏覽速度(注:需要浏覽器支援)

對于nodejs+express架構,啟用方法非常簡單,啟用compress()中間件即可,例子:(參考:Express中文文檔)

注意:文檔中說到,通過gzip / deflate壓縮響應資料. 這個中間件應該放置在所有的中間件最前面以保證所有的傳回都是被壓縮的

        特别注意!如果啟用了之後沒有效果,可能是因為你把端口号改了,

        本來是3000:app.set('port', process.env.PORT || 3000); (這個端口号在express内部的client.js有用到,不排除還有其他子產品用到,是以還是不要随便改的好)

//app.js
app.use(express.logger('dev'));
app.use(express.compress());    //啟用壓縮
app.use(express.bodyParser());
app.use(express.methodOverride());      

此時的YSlow評分:A-93

YSlow優化之Compress components with gzip (nodejs+express)

如果不使用壓縮:(注:如果啟用過,需要清除cookies并且重新運作node才能明顯看到不啟用的效果)

//app.js
app.use(express.logger('dev'));
//app.use(express.compress());
app.use(express.bodyParser());
app.use(express.methodOverride());      

 此時的YSlow評分:B-86(下降7分)

YSlow優化之Compress components with gzip (nodejs+express)

繼續閱讀