Как предотвратить fs.writeFile от перезаписи существующих файлов?

1

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

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

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

Теги:
fs

1 ответ

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');
  • 0
    Благодарю. Хотя я искал какой-то вариант для этого, но, как вы упомянули, я думаю, что такого варианта нет. Итак, это отвечает на мой вопрос. Еще раз спасибо :)
  • 0
    Это кажется лучшим решением: stackoverflow.com/a/34187712/1764521

Ещё вопросы

Сообщество Overcoder
Наверх
Меню