nodejs生成多層目錄和生成檔案的通用方法

王磊的部落格發表於2015-10-17
/**
 *生成多層目錄
 * @param dir 多層目錄
 * @param split 分隔符,ex:'/' 對應的目錄地址:'2015/10/10'
 * @param mode 目錄許可權(讀寫許可權),預設0777
 * @param callback
 */
var createDirsSync = function (dir, split, mode, callback) {
    console.log("建立目錄:" + dir);
    if (!fs.existsSync(dir)) {
        var dirArr = dir.split(split);
        var pathtmp;
        async.forEach(dirArr, function (item, cb) {
            console.log( item);
            if (pathtmp) {
                pathtmp = path.join(pathtmp, item);
            }
            else {
                pathtmp = item;
            }
            if (!fs.existsSync(pathtmp)) {
                if (!fs.mkdirSync(pathtmp, mode)) {
                    cb(null, item);
                }
                else {
                }
            }
        }, function (err) {
            callback(err);
        })
    }
    else {
        callback(null);
    }
}

  

相關文章