当我回顾这些 文件系统标志我的结论是正确的,你不能把旗子传给... fs.promises.writeFile
会自动创建所有指向文件名的缺失目录?如果不是,是哪个标志做的?
我不喜欢在尝试writeFile之前先检查文件夹是否存在的解决方案,因为在文件夹创建之后,每次你向该文件夹中的文件写入时都会进行检查。
在我的程序中,文件夹创建一次后,它应该一直存在,所以只有在出现异常时才创建文件夹似乎更有效率。然而,我希望有一个标志可以避免这些微观管理。
如果writeFile不存在自动创建文件夹的标志,那么我希望先尝试writeFile,然后(只有在出现异常时)递归地创建文件夹。
fs.promises.writeFile()
不会自动为你创建目录结构。 这必须先存在。
如果你想自动创建路径,因为你收到了一个指示路径问题的错误,你可以使用 fs.promises.mkdir()
并传递递归标志。
当然,你也可以创建自己的封装函数,调用 fs.promises.writeFile()
如果它得到的是路径不存在时的任何错误(你必须测试一下到底是什么错误),然后调用 fs.promises.mkdir()
再重复 fs.promises.writeFile()
. 都可以用自己的实用函数来包装。