Connect
2.0添加了对基于新zlib东西的compress()中间件的支持,而这些东西刚刚出现在Node
Core API中。
通过在
package.json文件中添加连接2.0的依赖关系,可以在快速服务器中使用此功能:
{ ... dependencies: { "connect" : "2.x", "express" : "2.x", // etc.. }}然后将以下逻辑应用于快速应用程序配置:
// Create static file server with gzip supportvar app = express.createServer(express.logger());app.use(connect.compress());app.use(express.static(__dirname + '/public'));app.listen(80);
请注意,这些东西 仍然很新
,虽然我可以让它在本地工作,但我的Heroku云应用程序抱怨在通过git部署时,在预提交钩子期间对Compress
2.x的依赖性:
-----> Heroku receiving push-----> Node.js app detected-----> Resolving engine versions Using Node.js version: 0.4.7 Using npm version: 1.0.106-----> Fetching Node.js binaries-----> Vendoring node into slug-----> Installing dependencies with npm npm ERR! Error: No compatible version found: connect@'>=2.0.0- <3.0.0-'
如您所见,他们仍然使用旧版本的节点(0.4.7)。
更新:
实际上,我可以通过在以下位置添加相应的
engines部分来让Heroku进行部署
package.json:
{ ... "engines": { "node": ">= 0.6.0 < 0.7.0" }}这些是使用http压缩测试器时的结果:
2014年6月更新
iya,如果您现在正在阅读。不要忘记,上面的内容仅与Express 2.0相关。
Express 3.0和4.0使用不同的语法来启用http压缩,请参阅下面的gasolin的文章。



