The Zlib module in Node.js provides compression and decompression functionality implemented using Gzip and Deflate/Inflate.
Refer to the sample code below, two functions compress() and decompress() respectively.
// access the libraries const zlib = require('zlib'); const fs = require('fs'); function compress(inFilename, outFilename) { const gzip = zlib.createGzip(); const input = fs.createReadStream(inFilename); const output = fs.createWriteStream(outFilename); input.pipe(gzip).pipe(output); } function decompress(inFilename, outFilename) { const unzip = zlib.createUnzip(); const input = fs.createReadStream(inFilename); const output = fs.createWriteStream(outFilename); input.pipe(unzip).pipe(output); } // compress file my-document.txt in same directory and output as my-document.gz compress('my-document.txt', 'my-document.gz'); // decompress file my-document.gz in same directory and output as my-document.txt decompress('my-document.gz', 'my-document.txt');
Compression and Decompression made easier with built-in Node.js libraries.