出典:node.jsのいろいろなモジュール1 – node-gzip
 自分の環境ではgzipが上手く動かなかったので、zlibを使用するように変更。
 ただ、gzipはWindowsではポピュラーではないので、zip圧縮用のモジュールを探すことに。

gzip圧縮

writeFileよりwriteFileSync、readFileよりreadFileSyncの方が安全な気が

gzip.js
var fs = require('fs');
var zlib = require('zlib');
fs.readFile('./input.txt', "utf-8", function(err, strData) {
  if (err) {
    throw err;
  }
  //圧縮対象のデータを渡し、そのデータを圧縮してファイルに出力
  zlib.gzip(strData, function(err, compData) {
    return fs.writeFile('./output.gz', compData, function(err) {
      if (err) {
        throw err;
      }
      console.log('compress done.');
    });
  });
});

gunzip解凍

gunzip.js
var fs = require('fs');
var zlib = require('zlib');

fs.readFile('./output2.gz', function(err, compData) {
  if (err) {
    throw err;
  }
  //圧縮された解凍対象のデータを渡し、そのデータを解凍してファイルに出力
  zlib.gunzip(compData, function(err, strData) {
    return fs.writeFile('./output2.txt', strData, function(err) {
      if (err) {
        throw err;
      }
      console.log('unzip done.');
    });
  });
});