~ 4 минуты
Чем отличается fallback: true от fallback: false и fallback: "blocking" в Next.js?
254
1/20/2024
В этой статье рассмотрим различные варианты параметра fallback в функции getStaticPaths фреймворка Next.js. Обсудим три варианта: fallback: false, fallback: true и fallback: 'blocking', а также их влияние на процесс генерации страниц сайта
В функции getStaticPaths в Next.js, параметр fallback определяет, что произойдет, если запрос будет сделан к пути, который не был возвращен функцией getStaticPaths.
В чем разница между fallback: false, fallback: true и fallback: 'blocking'?
fallback: false
При установленном параметре fallback в false будут видимы только те страницы, которые были сгенерированы во время сборки (т.е. возвращены из свойства paths функции getStaticPaths). Если пользователь создает новую страницу блога, отличающуюся от тех, что возвращается из getStaticPaths, то при посещении этого URL будет возвращена ошибка 404. Эта новая запись станет видимой только если вы перезапустите next build, и getStaticPaths вернет эту страницу в paths.
fallback: true
С этой опцией, Next.js проверяет, была ли страница предварительно отрендерена в HTML в .next/server/pages. Если нет, то Next.js сначала быстро возвращает предварительно отрендеренную “заглушку” со страницей, созданную во время сборки. Затем Next.js в фоновом режиме запускает getStaticProps для этого пути, чтобы получить необходимые данные и отрендерить полную страницу. После завершения этого процесса, при следующих запросах к этому пути, будет отображена полная страница пользователям.
fallback: ‘blocking’
При fallback установленном в blocking и когда происходит первый запрос, к странице, которая не была сгенерирована на этапе билда, Next.js будет рендерить страницу. Все будущие запросы будут уже загружать статический файл из кэша.
Важно отметить, что в случае ошибки во время регенерации с fallback: true, пользователю будет отображаться последняя успешно сгенерированная версия страницы до тех пор, пока не будет успешно завершена новая регенерация. Так Next.js обеспечивает стабильность и доступность вашего веб-приложения, даже если возникают временные проблемы с регенерацией.
Для справки
Взгляните на наш стартап:
Выбирай экскурсии и активности по всему миру
Уже зарегистрировано 0 стран, 0 направлений, 0 экскурсий
Есть интересная идея?
И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию