2014-07-16 66 views
2

我在npm壓縮模塊中遵循簡單指南,但是在靜態頁面上看不到壓縮。它確實看起來正在被Express壓縮。有什麼我需要做的,以獲得靜態文件壓縮以及?表達式4壓縮

我使用的是Express 4.2.0和Compression 1.0.8。

var express = require('express'); 
var compression = require('compression'); 

var app = express(); 
app.use(compression()); 

這裏是我的路由器的功能之一:

router.get('/:name', function(req, res) { 
     res.render('test/blah/' + req.params.name, { 
     title : entry.title 
    }); 
} 
+0

之前,你能澄清快遞和壓縮的版本? – vodolaz095

+0

Express是4.2.0,壓縮是1.0.8 – JamesE

+0

向我們展示您的一個請求處理函數和您正在測試的請求可能會有所幫助。 –

回答

3
在中間件鏈

嘗試使用壓縮中間件靜態中間件

app.use(compression()); 
app.use(express.static(__dirname+'/public')); 
+0

我認爲這是工作,但靜態資源仍然沒有壓縮。 – JamesE

+2

我曾經使用nginx作爲nodejs項目和靜態文件服務器的反向代理,並且它正確地壓縮輸出。我用這個配置 - https://github.com/vodolaz095/hunt/blob/master/examples/serverConfigsExamples/nginx.conf 我希望它會幫助你 這種方法使你使用nginx作爲代理和文件服務器,但它可能會產生疑問,但是imho nginx作爲文件服務器的工作速度稍快,並且它允許nodejs後端代表有限的用戶帳戶執行 - 它可以綁定到端口> 1000,例如3000,並且nginx將代理請求80/443端口到3000端口的nodejs應用程序 – vodolaz095