通常我们的node.js web项目都是通过express框架搭建的。
在express 4.x版本中引入外部中间件compression
,然后在其他中间件前面使用此中间件即可(放在其他中间件前面以保证所有的返回都是被压缩的)。12345678var compression = require('compression')var express = require('express')var app = express()// compress all requests app.use(compression()) // add all routes
compression([options])
chunkSize
: 用来设置使用压缩的最小size,默认是16384,单位是byte,也可以使用'10kb'
来显示的指定单位。假设
compression({chunkSize: '1kb'})
,那么当响应大于1kb
的时候,服务器会压缩响应数据,并为响应header添加Content-Encoding:gzip
,Transfer-Encoding:chunked
,响应小于的时候不会压缩,也不会添加header。
这个中间件还有很多其他的可配置条件,可以参考其文档