tgbb 发表于 2014-3-5 10:45:44

nodejs递归创建目录,同步和异步方法

nodejs递归创建目录,同步和异步方法。在官方API中只提供了最基本的方法,只能创建单级目录,如果要创建一个多级的目录(./aaa/bbb/ccc)就只能一级一级的创建,感觉不是很方便,因此简单写了两个支持多级目录创建的方法。

直接代码:


var fs = require("fs");
var path = require("path");
//递归创建目录 异步方法
function mkdirs(dirname, mode, callback){
    fs.exists(dirname, function (exists){
      if(exists){
            callback();
      }else{
            console.log(path.dirname(dirname));
            mkdirs(path.dirname(dirname), mode, function (){
                fs.mkdir(dirname, mode, callback);
            });
      }
    });
}
//递归创建目录 同步方法
function mkdirsSync(dirname, mode){
    console.log(dirname);
    if(fs.existsSync(dirname)){
      return true;
    }else{
      if(mkdirsSync(path.dirname(dirname), mode)){
            fs.mkdirSync(dirname, mode);
            return true;
      }
    }
}
//使用markdown在代码块里不能放空行么?有知道的么
分类: javascript, nodejs

我在这儿 发表于 2015-6-19 16:41:32

解决大问题了
页: [1]
查看完整版本: nodejs递归创建目录,同步和异步方法