РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnuSpCaInr 56 of 90 menu
◀ ▶

Введение в кэш и рендеринг в Nuxt

В основном учебнике вы уже видели, что одна и та же страница Vue может собираться на сервере, только в браузере или заранее на этапе сборки. Там речь шла о смысле этих режимов: когда нужен готовый HTML для поисковиков, когда допустима пустая оболочка до гидратации и когда выгодно отдать файл, который не меняется часто. Высший учебник показывает, как переключать такое поведение для конкретных адресов без переписывания всего проекта.

В Nuxt правила для отдельных путей задают в объекте routeRules в nuxt.config.ts. Один адрес можно пометить для предварительной генерации HTML при npm run build, другой отключить от серверного рендеринга, третий на время отдавать из кэша, пока свежая версия готовится в фоне. Так на одном сайте соседствуют «вечная» страница «О нас», личный кабинет только для клиента и лента новостей, которую не нужно строить заново на каждый запрос.

Режим страницы и поведение данных связаны, но настраиваются по-разному. Функция useFetch по умолчанию старается выполнить запрос на сервере и передать результат в браузер вместе с HTML. Иногда экран должен появиться сразу, а список или таблица догрузятся позже. Иногда API безопасно вызывать только после гидратации, когда доступны объекты окна или токен из локального хранилища. Для этого у useFetch есть опции, которые откладывают ожидание данных или переносят запрос целиком на клиент.

Отдельно от HTTP-кэша страницы Nuxt хранит payload запросов между сервером и браузером. Если пользователь увидел устаревший список, его можно сбросить и заставить функцию загрузить JSON заново. Тяжёлые блоки интерфейса иногда выносят в компоненты, которые подключаются с префиксом Lazy, чтобы первый экран не тянул лишний JavaScript.

Примеры раздела опираются на структуру Nuxt 4: страницы в app/pages, настройки в nuxt.config.ts, компоненты в app/components. Вы уже уверенно пользуетесь useFetch; здесь мы меняем только правила маршрута и опции вызова, не вводя новый способ загрузки с нуля. Каждый урок можно повторить в проекте my-app после npm create nuxt@latest и запуска npm run dev, добавляя один приём за раз.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить