Как реквайрить файл и создавать его, если не существует?
Есть такая строка
const snapshot = require(`./${file}`)
Проблема в том, что этот файл не всегда существет. Поэтому Нода выбивает ошибку и умирает.
Как в таком случае построить приложение?
Использовать не require а fs?
Как это сделать с fs, учитывая что мне нужно вернуть данные из этого JSON файла после его создания?
Правильно я понимаю, что если файла нет, вы должны его создать, заполнить какими-то данными и затем вернуть из него JSON? А зачем так? Если файла нет, и вы должны положить в него данные, сразу их и возвращайте. Зачем вам гонять их туда-сюда?
Ptolemy_master, потому что этот же самый скрипт будет запускать и тогда когда этот файл будет на месте. Если сделать как вы пишите, то сравнение будет не с данными из этого файла, а непосредственно со спарсенными данными.
wufapexef, понятно.
Например, так. взято в том числе отсюда:
var fs = require('fs');
var data = null;
if (fs.existsSync(path)) {
// Read from file
var data = JSON.parse(fs.readFileSync(path, 'utf8'));
} else {
// Create your file and put data there
data = someJsonData;
var json = JSON.stringify(data);
fs.writeFile(path, json, 'utf8', callback);
}