在fs.promises.writeFile过程中创建缺失目录的标志。

问题描述 投票:0回答:1

当我回顾这些 文件系统标志我的结论是正确的,你不能把旗子传给... fs.promises.writeFile 会自动创建所有指向文件名的缺失目录?如果不是,是哪个标志做的?

我不喜欢在尝试writeFile之前先检查文件夹是否存在的解决方案,因为在文件夹创建之后,每次你向该文件夹中的文件写入时都会进行检查。

在我的程序中,文件夹创建一次后,它应该一直存在,所以只有在出现异常时才创建文件夹似乎更有效率。然而,我希望有一个标志可以避免这些微观管理。

如果writeFile不存在自动创建文件夹的标志,那么我希望先尝试writeFile,然后(只有在出现异常时)递归地创建文件夹。

node.js overwrite flags
1个回答
1
投票

fs.promises.writeFile() 不会自动为你创建目录结构。 这必须先存在。

如果你想自动创建路径,因为你收到了一个指示路径问题的错误,你可以使用 fs.promises.mkdir() 并传递递归标志。

当然,你也可以创建自己的封装函数,调用 fs.promises.writeFile() 如果它得到的是路径不存在时的任何错误(你必须测试一下到底是什么错误),然后调用 fs.promises.mkdir() 再重复 fs.promises.writeFile(). 都可以用自己的实用函数来包装。

© www.soinside.com 2019 - 2024. All rights reserved.