Я использую gatsby для создания очень большого сайта (5k + страниц, 300k + изображений). Исходные данные ненадежны (например, поля часто отсутствуют), что приводит к ошибкам во время процесса createPage
.
Проблема заключается в том, что если один прогон createPage
выдает ошибку, то полностью сборка не удалась. Так что иногда 5k страниц создаются успешно, а затем происходит сбой из-за одной ошибки.
Я пытался обернуть создание страницы в try...catch
, но это не имело значения:
try {
createPage({
path: node.slug,
component: path.resolve(`./src/templates/BlogPost.js`),
context: {
id: node.id,
},
});
} catch (error) {
console.log(error);
}
( Я также попытался проверить данные на уровне компонента и вернуть null
, если он не завершен, но createPage
все еще создает (пустую) страницу, и я не хочу этого: Я просто хочу, чтобы страница была пропущены, если данные неверны ?
Обратите внимание, это почти дубликат этого вопроса , но решение там не работает для меня: я не могу отобразить страницу с ошибкой в случае неверных данных Мне нужно, чтобы страница была полностью пропущена, если это вообще возможно