我正在从swagger API定义文件创建测试文件。我使用fs.writeFile
创建测试文件(大部分是存根,因此我需要手动向这些文件添加详细信息)。现在的问题是,每当我再次生成测试文件时,它也会覆盖所有现有文件。
所以,我的问题是,fs.writeFile
是否有一些选项可以设置为指定文件是否已经存在而不覆盖它?
最明显的方法似乎是先检查文件是否存在,然后仅在文件不存在时才生成文件。但是,如果fs.writeFile
本身有一些选择,那将更加方便和紧凑。
答案 0 :(得分:1)
fs.writeFile 没有任何检查文件是否已存在的选项。
我建议使用fs-extra。以下是解决方法之一。
async function writeFile(f) {
try {
if ((await fs.pathExists(f)) === false) {
await fs.outputFile(f, 'hello!');
}
} catch (err) {
console.error(err);
}
}
writeFile('/tmp/this/path/does/not/exist/file.txt');