节点具有完整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中间目录,所以你不必! -
mkdir
和rmdir
会一直告诉你到底是哪个目录被创build或者删除了,所以如果你的程序在执行过程中稍后中止,你的程序可以自行清理。 由于这两个函数共享一个一致的API,所以你可以将其中一个的输出作为input传递给另一个!
安装
NPM
npm install --save commandir
纱
yarn add commandir
有关完整的使用说明,请参阅文档 。
免责声明:我是commandir的作者
所以我想通过使用mkdirp来完成一个完整path的目录。
请参阅完整的文档