使用 Compression Streams API 在浏览器中压缩和解压缩

编写更小的 Web 应用,这些应用无需自带压缩或解压缩库

压缩流 API 用于使用 gzip 或 deflate(或 deflate-raw)格式压缩和解压缩数据流。

借助内置压缩功能,JavaScript 应用无需包含压缩库,从而减小应用的下载大小。稳定版 Chrome 和 Safari 技术预览版现在支持此实用 API。此处显示了压缩数据。

const readableStream = await fetch('lorem.txt').then(
  (response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
  new CompressionStream('gzip')
);

若要解压缩,请在解压缩流中用管道传输压缩的流。

const decompressedReadableStream = compressedReadableStream.pipeThrough(
  new DecompressionStream('gzip')
);

演示

浏览器支持

Chromium 80 和 Safari 技术预览版 152 开始支持 Compression Streams API。