Как я могу сделать Next.js Сервер «dev» безопасен для производства?

#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.