具有完整路径的节点异步 mkdir
Node Asynchronous mkdir with full path
我目前在 node.js 同步代码中使用 shell.js 的 mkdir -p。 '-p' 在 shell.mkdir 中用于创建具有完整路径的目录,这是 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
的异步特性和 shell.mkdir('-p', absolutePath)
的递归特性的方法,请立即告诉我。
您可以尝试使用节点模块commandir:
mkdir and rmdir that just work
- 这些函数是幂等的,因此您不会在尝试创建已存在的目录或尝试删除不存在的目录时收到错误消息。
mkdir
创建中间目录,因此您不必这样做!
mkdir
和 rmdir
将始终准确地告诉您创建或删除了哪些目录,以便您的程序可以在稍后执行时中止时自行清理。由于两个函数共享一个一致的 API 允许您将一个函数的输出作为输入传递给另一个函数,这变得特别容易!
安装
npm
npm install --save commandir
纱线
yarn add commandir
有关完整的使用说明,请参阅 documentation。
免责声明:我是 commandir 的作者
所以我发现我可以使用 mkdirp 通过承诺创建一个具有完整路径的目录。
See full documentation here
我目前在 node.js 同步代码中使用 shell.js 的 mkdir -p。 '-p' 在 shell.mkdir 中用于创建具有完整路径的目录,这是 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
的异步特性和 shell.mkdir('-p', absolutePath)
的递归特性的方法,请立即告诉我。
您可以尝试使用节点模块commandir:
mkdir and rmdir that just work
- 这些函数是幂等的,因此您不会在尝试创建已存在的目录或尝试删除不存在的目录时收到错误消息。
mkdir
创建中间目录,因此您不必这样做!mkdir
和rmdir
将始终准确地告诉您创建或删除了哪些目录,以便您的程序可以在稍后执行时中止时自行清理。由于两个函数共享一个一致的 API 允许您将一个函数的输出作为输入传递给另一个函数,这变得特别容易!
安装
npmnpm install --save commandir
纱线
yarn add commandir
有关完整的使用说明,请参阅 documentation。
免责声明:我是 commandir 的作者
所以我发现我可以使用 mkdirp 通过承诺创建一个具有完整路径的目录。
See full documentation here