.dirname()方法

1. 获得路径当中最后一段文件或文件夹所在的路径。多次调用path.dirname将会逐层返回上级目录

var path=require("path");
console.log(path.dirname("a/b/c/d"));//  打印结果a/b/c

2. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录

    //同步
    fs.mkdirSync("./tmp/");
    fs.mkdirSync("./tmp/test/");
     
    //异步
    fs.mkdir("./tmp/",function(err){
       if (err){
           return console.error(err);
       }
       console.log("tmp目录创建成功。");
       fs.mkdir("./tmp/test/",function(err){
            if (err){
               return console.error(err);
            }
            console.log("test目录创建成功。");
        });
    });

3. nodejs递归创建目录

    var fs = require("fs");
    var path = require("path");  
     
    // 递归创建目录 异步方法
    function mkdirs(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);
                    console.log('在' + path.dirname(dirname) + '目录创建好' + dirname  +'目录');
                });
            }
        });
    }
    // 递归创建目录 同步方法
    function mkdirsSync(dirname) {
        if (fs.existsSync(dirname)) {
          return true;
        } else {
          if (mkdirsSync(path.dirname(dirname))) {
            fs.mkdirSync(dirname);
            return true;
          }
        }
      }
     
    mkdirs('hello/a/b/c',() => {
        console.log('done');
    })
     
    // mkdirsSync('hello/a/b/c');

微芒不朽
1.2k 声望1.3k 粉丝