通知タイミングの場合

バッファの場合

ストリームの場合

ファイル圧縮の例(領域的な効率)

バッファの場合(巨大なファイルの動作保証なし)

const fs = require('fs')
const zlib = require('zlib')

const file = process.argv[2]

fs.readFile(file, (err, buffer) => {
    zlib.gzip(buffer, (err, buffer) => {
        fs.writeFile(`${file}.gz`, buffer, err => {
            console.log('File successfully compressed')
        })
    })
})

// node gzip tomixy.gif