Гэтсби JS: Возражение только для определенных c страниц - PullRequest
1 голос
/ 30 января 2020

Мне интересно, можно ли указать процессу Гэтсби только изменить определенные страницы c. Сценарий может быть таким:

У вас огромный блог с тысячами постов. Для начальной сборки я получаю содержимое через GraphQL API и создаю все страницы / post /: postId для всех моих сообщений. Насколько я понял, Гэтсби JS Я должен перезапустить процесс сборки, когда я хочу изменить один или несколько своих постов. Но: Процесс сборки медленный со многими содержимым, и было бы гораздо проще сказать, что процесс сборки требует, чтобы Гэтсби только модифицировал существующую сборку. Например, я хочу изменить только заголовок сообщения следующим образом:

const newPage = { ...page };
deletePage(page);
createPage({
  ...newPage,
  context: {
    ...newPage.context,
    title: 'My new Blog title',
  },
});

Можно ли сказать, что Гэтсби только перестраивает затронутые файлы, а не перестраивает все?

Другой Решение состоит в том, чтобы извлекать данные всегда в режиме реального времени из API-интерфейса graphql на клиенте, но тогда я теряю преимущества SSR, а также преимущества только обслуживания stati c HTML файлов.

1 Ответ

1 голос
/ 30 января 2020

То, что вы описываете, называется инкрементными сборками .

В официальном репозитории Gatsby на github существует проблема , касающаяся вашей конкретной проблемы. Похоже, что нужная вам функция будет доступна в следующих нескольких выпусках:

прокомментировал dominicfallows 18 дней go

Просто хотел обновить, что моя команда близка к публикации PR в репозитории Gatsby, который, по нашему мнению, позволяет наращивать сборку. Мы просто тратим время на то, чтобы написать хороший пиар и ужесточить код, но я обновлю здесь, когда мы закончим (на следующей неделе или около того).

Итак, ответ таков:

Нет, пока это невозможно.

Но это будет возможно в ближайшие несколько недель или месяцев. Что касается того, как его реализовать, вам нужно будет подождать официальных документов или просмотреть PR, связанный с этим вопросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...