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();
finalizeメソッドで圧縮されます。
archiverのglobメソッドの第二引数でignoreオプションを指定すると除外対象のファイルを指定することができます。
archive.glob('**/*',{'ignore':['index.zip']}); // index.zipを除外する
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント