#next.js #server-side-rendering #hybrid
#next.js #рендеринг на стороне сервера #гибрид
Вопрос:
Основная цель моей команды — иметь возможность «делать снимок» сайта, управляемого CMS, в статическом HTML. Это просто, используя getStaticProps
и next export
.
Но нам также необходимо разместить версию для интрасети, всегда загружающую новейший контент из CMS. Использование getStaticProps
этого на самом деле невозможно, потому что его выходные данные кэшируются, и если вы используете более старый, getInitialProps
вы не можете «заморозить» серверную версию его выходных данных во время экспорта.
next dev
упрощает это; у него есть сервис, который предлагает свежие версии файлов JSON, которые будут сделаны статичными во время экспорта.
Существуют ли важные изменения конфигурации на давно работающем сайте, которые сделали бы next dev
использование безопасным?
Ответ №1:
В 9.5 добавлена инкрементная статическая регенерация, причудливый способ сказать, getStaticProps
что через некоторое время после следующего запроса его вывод будет регулярно аннулироваться.
Это все еще не идеально, потому что кто-то, кто вносит правку в CMS, захочет увидеть изменения, отраженные в самом следующем запросе, но вместо этого они увидят старое содержимое, подождут несколько секунд и перезагрузят страницу.
При статическом экспорте ничего не меняется: getStaticProps
превращается в статический файл JSON.