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

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

Compression Streams 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 就已獲得支援。