const Koa = require('koa');
const app = new Koa();
const compress = require('koa-compress');
// compress data
app.use(compress({
filter: function (content_type) { //只有在请求的content-type中有gzip类型,我们才会考虑压缩,因为zlib是压缩成gzip类型的
return /text/i.test(content_type);
},
threshold: 2048, //阀值,当数据超过2kb的时候,可以压缩
flush: require('zlib').Z_SYNC_FLUSH
}));
//使用
app.use(async(ctx, next) => {
ctx.compress = true; //是否压缩数据
await next();
});