Skip to content

Compress Middleware

该中间件根据请求头 Accept-Encoding 对响应体进行压缩。

INFO

注意:在 Cloudflare Workers 和 Deno Deploy 环境中,响应体会自动压缩,因此无需使用此中间件。

Bun:该中间件使用的 CompressionStream 目前在 Bun 中尚未支持。

导入

ts
import { Hono } from 'hono'
import { compress } from 'hono/compress'

使用方法

ts
const app = new Hono()

app.use(compress())

配置选项

可选 encoding: 'gzip' | 'deflate'

指定响应压缩采用的压缩方案,可选值为 gzipdeflate。若未指定,则两种方案都会被允许,具体使用哪种将基于请求的 Accept-Encoding 头部决定。当该选项未设置且客户端在 Accept-Encoding 头部同时支持两种方案时,将优先使用 gzip

可选 threshold: number

进行压缩的最小字节数阈值。默认为 1024 字节。

Released under the MIT License.