如何使用Node.js同时创建两个目录

时间:2018-07-12 10:26:27

标签: javascript node.js mkdir

我正在使用此npm创建目录

var mkdirp = require('mkdirp');
var dest = denotes the path
mkdirp(dest, function (err) {
    if (err) cb(err, dest);
    else cb(null, dest);
});

我的疑问是如何在不同的路径中创建两个目录?

我尝试了以下代码:

var dest = first path;
var dest2 = second path;
mkdirp(dest,dest2, function (err) {
  if (err) cb(err, dest);
  else cb(null, dest);
});

但是我该怎么办?我还需要为同时位于不同路径的那些文件夹重命名。

已更新

var mkdirp = require('mkdirp');
var destArray = [ './root/dest1', './dest2' ]
destArray.map( path => {
  mkdirp(path, function (err) {
    if (err) console.error(err)
    else {
    res.json("ok")
      }
  });
})

我使用了此解决方案,由于循环,无法再次设置标头

2 个答案:

答案 0 :(得分:1)

您可以尝试

var mkdirp = require('mkdirp');
var destArray = [ './root/dest1', './dest2' ]
destArray.forEach( path => {
  mkdirp(path, function (err) {
    if (err) console.error(err)
    else console.log('Directory created: ' + path )
  });
})

答案 1 :(得分:0)

您可以使用以下代码进行

const fs = require('fs');
const {promisify} = require('util');
const mkdir = promisify(fs.mkdir);

const destArray = [ 'dest1', 'dest2'];

Promise.all(destArray.map(destPath => mkdir(destPath))).
   then(res => {
       console.log('Directories created');
   }).
   catch(err => {
       console.error(err);
});