В настоящее время я использую shell.js mkdir -p в моем узле node.js, который является синхронным. "-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)
, одним махом, пожалуйста, дайте мне знать.
Поэтому я понял, что могу просто использовать mkdirp для создания каталога с полным путем через обещание.
См. Полную документацию здесь
Вы можете попробовать использовать модуль узла commandir:
mkdir и rmdir, которые просто работают
mkdir
создает промежуточные каталоги, поэтому вам не нужно!mkdir
и rmdir
всегда будут сообщать вам, какие каталоги были созданы или удалены, поэтому ваша программа может очистить после себя, если она будет отменена позже при ее выполнении. Это делается особенно легко благодаря тому, что обе функции совместно используют согласованный API, позволяющий передавать выходные данные одного в качестве входа в другой!npm install --save commandir
пряжа yarn add commandir
См. Документацию для полных инструкций по использованию.
Отказ от ответственности: я автор командира
mkdir
который возвращает обещание вместо того, чтобы требовать обратного вызова, и можете обновить его до последней версии узла, я рекомендую вам еще раз попробовать Commandir. Удачи!
shell.mkdir
наfs.mkdir
+ wrapper 2) сделатьshell.mkdir
async 3) что-то еще?