nodejs遞歸創(chuàng)建目錄,同步和異步方法。在官方API中只提供了最基本的方法,只能創(chuàng)建單級目錄,如果要創(chuàng)建一個多級的目錄(./aaa/bbb/ccc)就只能一級一級的創(chuàng)建,感覺不是很方便,因此簡單寫了兩個支持多級目錄創(chuàng)建的方法。
直接代碼:
/**
*?Created?by?RockeyCai?on?16/2/22.
*?創(chuàng)建文件夾幫助類
*/
varfs?=?require("fs");
varpath?=?require("path");
//遞歸創(chuàng)建目錄?異步方法
functionmkdirs(dirname,?callback)?{
fs.exists(dirname,function(exists)?{
if(exists)?{
callback();
}else{
//console.log(path.dirname(dirname));
mkdirs(path.dirname(dirname),function()?{
fs.mkdir(dirname,?callback);
});
}
});
}
//遞歸創(chuàng)建目錄?同步方法
functionmkdirsSync(dirname)?{
//console.log(dirname);
if(fs.existsSync(dirname))?{
returntrue;
}else{
if(mkdirsSync(path.dirname(dirname)))?{
fs.mkdirSync(dirname);
returntrue;
}
}
}
module.exports.mkdirs?=?mkdirs;
module.exports.mkdirsSync=?mkdirsSync;
//調(diào)用
//mkdirsSync("./aa/bb/cc"?,?null);
//mkdirs("./aa/bb/cc",?function?(ee)?{
//????console.log(ee)
//});
來源http://huqiji.iteye.com/blog/2278036