[node] 2つのディレクトリを比較し、比較先にないファイルがあれば追加する

ITJavaScript, node

var fs = require("fs");

const src_files = fs.readdirSync('./src');

const dest_files = fs.readdirSync('./dist');

Object.keys(src_files).forEach(function (key) {

    if (dest_files.indexOf(src_files[key]) == -1) {

        fs.readFile('./src/'+src_files[key], "UTF-8", function(err, data) {
            if (err) {
                throw err;
            }

            // data に対して何か処理があれば、ここで処理して、writeFile の第二引数に渡す。

            fs.writeFile('./dist/'+src_files[key], data , function(err) {
                if(err) {
                    return console.log(err);
                }

            });
        });
    }
});

参考:
【JavaScript入門】文字列の検索まとめ(indexOf/search/match/test)

雑記:
慣れてないだけかもしれないけど、PHPは配列、オブジェクトの処理に対して便利な関数があるが、JavaScriptはパッと見つからず。

スポンサーリンク

Posted by nobuhiro harada