透過 Compression Streams API 在瀏覽器中壓縮及解壓縮

編寫較小的網頁應用程式,不必自行提供壓縮或解壓縮程式庫

壓縮串流 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 Technology Preview 152 以上版本支援 Compression Streams API。