Как предотвратить fs.writeFile от перезаписи существующих файлов? - PullRequest
0 голосов
/ 24 октября 2018

Я создаю тестовые файлы из файла определения API Swagger.Я использую fs.writeFile для создания тестовых файлов (которые в основном являются заглушками, поэтому мне нужно добавить детали к этим файлам вручную).Теперь проблема в том, что всякий раз, когда я снова генерирую тестовые файлы, он также перезаписывает все существующие файлы.

Итак, мой вопрос, есть ли какая-то опция для fs.writeFile, которую мы можем установить, чтобы указать, что еслифайл уже существует, не перезаписать его?

Наиболее очевидный способ - сначала проверить, существует ли файл, и сгенерировать его, только если он еще не существует.Но если в самом fs.writeFile есть какая-то опция, она будет более удобной и компактной.

1 Ответ

0 голосов
/ 24 октября 2018

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');
...