@abaccus/koapression 中文文档教程
Koapression
Koa 压缩中间件。
支持以下压缩编码:
- deflate
- gzip
- brotli
Install
这是一个 Node.js 模块,可通过 npm 注册表。 安装是使用 npm install
命令:
$ npm install @abaccus/koapression
API
const koapression = require('@abaccus/koapression')
Example
const koapression = require('@abaccus/koapression')
const Koa = require('koa')
const app = new Koa()
app.use(compress({
filter: function (content_type) {
return /text/i.test(content_type)
},
threshold: 2048,
flush: require('zlib').Z_SYNC_FLUSH
}))
Options
选项传递给 zlib
: http://nodejs.org/api/zlib.html#zlib_options
filter
一个可选函数,检查响应内容类型以决定是否压缩。 默认情况下,它使用可压缩。
threshold
要压缩的最小响应大小(以字节为单位)。 默认 1024
字节或 1kb
。
Manually turning compression on and off
您始终可以通过设置 this.compress = true
来启用压缩。 您始终可以通过设置 this.compress = false
来禁用压缩。 这绕过了过滤器检查。
app.use((ctx, next) => {
ctx.compress = true
ctx.body = fs.createReadStream(file)
})
Koapression
Koa Compression middleware.
The following compression codings are supported:
- deflate
- gzip
- brotli
Install
This is a Node.js module available through the npm registry. Installation is done using the npm install
command:
$ npm install @abaccus/koapression
API
const koapression = require('@abaccus/koapression')
Example
const koapression = require('@abaccus/koapression')
const Koa = require('koa')
const app = new Koa()
app.use(compress({
filter: function (content_type) {
return /text/i.test(content_type)
},
threshold: 2048,
flush: require('zlib').Z_SYNC_FLUSH
}))
Options
The options are passed to zlib
: http://nodejs.org/api/zlib.html#zlib_options
filter
An optional function that checks the response content type to decide whether to compress. By default, it uses compressible.
threshold
Minimum response size in bytes to compress. Default 1024
bytes or 1kb
.
Manually turning compression on and off
You can always enable compression by setting this.compress = true
. You can always disable compression by setting this.compress = false
. This bypasses the filter check.
app.use((ctx, next) => {
ctx.compress = true
ctx.body = fs.createReadStream(file)
})