23decxf 发表于 2017-2-22 08:56:43

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

 
  如果不使用压缩:(注:如果启用过,需要清除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分)

 
页: [1]
查看完整版本: YSlow优化之Compress components with gzip (nodejs+express)