Node.jsでarchiverモジュールで圧縮する方法

Node.jsでarchiverモジュールで圧縮する方法

Lambda(node.js)をどうしてもローカルで開発しないといけない状況で、デプロイくらいは自動化したいのでとりあえず圧縮についてモジュール調べてたらarchiverという便利なモジュールがありました。

var fs = require('fs');
var archiver = require('archiver');
var output = fs.createWriteStream(__dirname + '/index.zip');
var archive = archiver('zip', {zlib: { level: 9 }});
archive.on('finish', function(err){
console.log('finish');
});
archive.on('end', function(err){
console.log('end')
});
output.on('close', function() {
console.log(archive.pointer() + ' bytes');
});
archive.pipe(output);
archive.glob('*'); // カレントディレクトリ直下全て
archive.finalize();

view raw
gistfile1.txt
hosted with ❤ by GitHub

finalizeメソッドで圧縮されます。

archiverのglobメソッドの第二引数でignoreオプションを指定すると除外対象のファイルを指定することができます。

archive.glob('**/*',{'ignore':['index.zip']}); // index.zipを除外する

view raw
gistfile1.txt
hosted with ❤ by GitHub

archiver

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA