1.0 前言

大家知道我们的请求的图片,post 请求返回数据太大等等,那 http 请求时间会很长,这个时候我们需要开启 gzip 压缩功能,加快网页的加在速度,这节我们就来学习,koa 压缩功能, koa 压缩中间件目前用的最多的是 koa-compress

2.0 koa-compres 使用

2.0.1 安装

  1. npm install --save koa-compress

2.0.2 配置文件

  1. const compress = require('koa-compress')
  2. const Koa = require('koa')
  3. const app = new Koa()
  4. app.use(compress({
  5. filter (content_type) {
  6. return /text/i.test(content_type) // filter 的含义是过滤 Content-Type 类型
  7. },
  8. threshold: 2048, //阀值,当数据超过2kb的时候,可以压缩
  9. gzip: {
  10. flush: require('zlib').constants.Z_SYNC_FLUSH
  11. },
  12. deflate: {
  13. flush: require('zlib').constants.Z_SYNC_FLUSH,
  14. },
  15. br: false // disable brotli
  16. }))

这使我们的压缩中间件到位。 filter选项是一个检查响应内容类型以决定是否压缩的函数。 阈值选项是要压缩的最小响应大小(以字节为单位)。 这确保我们不会压缩每一个小响应。

下面是没有压缩前的响应时间和大小。
image.png
下面是压缩后的响应时间和大小
image.png
对比看下来,发现 html size 和 响应时间大大减少,所以这是个很实用的功能。

3.0 小结

这节我们学习了 Koa 对 资源压缩功能的实用,非常方便,非常实用, Demo 地址