首页 > 解决方案 > 在 fs.promises.writeFile 期间创建缺失目录的标志

问题描述

当我查看这些文件系统标志时,我得出的结论是正确的,没有可以传递给fs.promises.writeFile它的标志会自动创建导致文件名的所有缺失目录?如果不是,这是哪个标志?

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

在我的程序中,文件夹创建一次后,它应该始终存在,因此仅在出现异常时才创建文件夹似乎更有效。但是,我希望有一个标志可以避免所有这些微观管理。

如果 writeFile 不存在用于自动创建文件夹的标志,那么我想先尝试 writeFile,然后(仅在出现异常时)递归创建文件夹。

标签: node.jsoverwriteflags

解决方案


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

如果由于收到指示路径问题的错误而想要自动创建路径,则可以使用fs.promises.mkdir()并传递递归标志。

当然,您可以创建自己的包装函数来调用fs.promises.writeFile(),如果它在路径不存在时遇到任何错误(您必须测试以确切了解该错误是什么),然后调用fs.promises.mkdir()然后重复fs.promises.writeFile(). _ 它可以全部包含在您自己的实用程序函数中。


推荐阅读