毎回決まった手順でZIP圧縮するのは大変ですね!
Node.jsで自動でZIP圧縮するコードを書いたのでソースコードを載せます。圧縮にはarchiver
というライブラリを使います。
archive.glob
の引数を変えると任意のファイルを圧縮対象にすることが出来ます。
(xxxx/**/*)
はサブフォルダ以下すべてのファイルを対象にするという意味になります。
ZIP圧縮作業を自動化したいときに使えますよ!
var archiver = require('archiver');
var fs = require('fs');
function zipFiles() {
// 出力先のzipファイル名
var zip_file_name = "src.zip";
// ストリームを生成して、archiverと紐付ける
var archive = archiver.create('zip', {});
var output = fs.createWriteStream(zip_file_name);
archive.pipe(output);
// 圧縮対象のファイル及びフォルダ
archive.glob('*.js');
archive.glob('*.css');
archive.glob('*.ico');
archive.glob('*.html');
archive.glob('package.json');
archive.glob('css/**/*');
archive.glob('fonts/**/*');
archive.glob('images/**/*');
// zip圧縮実行
archive.finalize();
output.on("close", function () {
// zip圧縮完了すると発火する
var archive_size = archive.pointer();
console.log(`complete! total size : ${archive_size} bytes`);
});
}
以上です。試してみてくださいね!
エンジニアに役立つ情報をTwitterでも発信していますので宜しければTwitterの方もフォローをよろしくお願いします!
Twitterへのリンクはコチラ