2014-07-16 28 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