节点具有完整path的asynchronousmkdir

我目前使用shell.js的mkdir -p在我的node.js代码是同步的。 在shell.mkdir中使用'-p'来创build一个完整path的目录,这是fs.mkdir无法做到的。

 if(fs.existsSync(archivePath + "\\" + site + "\\" + year)){ // check if site folder exists console.log(archivePath + "\\" + site + "\\" + year + " exists"); } else { console.log(archivePath + "\\" + site + "\\" + year + " does not exist... creating full path now"); shell.mkdir('-p' , archivePath + "\\" + site + "\\" + year + "\\" + missionID); } 

如果有人知道如何获得fs.mkdir的asynchronous性质,以及shell.mkdir('-p', absolutePath)的recursion性质,请一定要让我知道。

您可以尝试使用节点模块commandir

mkdir和rmdir,只是工作

  • 这些函数是幂等的,所以你不会在尝试创build一个已经存在的目录或试图删除一个不存在的目录时出错。
  • mkdir创build中间目录,所以你不必!
  • mkdirrmdir会一直告诉你到底是哪个目录被创build或者删除了,所以如果你的程序在执行过程中稍后中止,你的程序可以自行清理。 由于这两个函数共享一个一致的API,所以你可以将其中一个的输出作为input传递给另一个!

安装

NPM

 npm install --save commandir 

 yarn add commandir 

有关完整的使用说明,请参阅文档 。

免责声明:我是commandir的作者

所以我想通过使用mkdirp来完成一个完整path的目录。
请参阅完整的文档