เขียนเว็บแอปขนาดเล็กที่ไม่จำเป็นต้องจัดส่งไลบรารีการบีบอัดหรือการบีบอัดของตนเอง
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')
);
เดโม
การสนับสนุนเบราว์เซอร์
เรารองรับ Compression Streams API จาก Chromium 80 และ Safari Technology Preview 152 สำหรับเบราว์เซอร์อื่นๆ ให้ดูที่ CanIUse