Help us understand the problem. What is going on with this article?

Node.jsで指定したファイルやフォルダをZIP圧縮する方法

More than 1 year has passed since last update.

毎回決まった手順で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へのリンクはコチラ

mr_t_free
私はフリーランスエンジニアをしながら、プログラミング塾でインストラクターをしています。 フリーランスエンジニアを目指す人に役立つ情報をお届けします。
http://freelance-se-way.net/
roomclip
日本最大級の住まいと暮らしのSNSメディア「RoomClip」の開発・運営を行っています
https://corp.roomclip.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした