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

Введение в макеты в Nuxt

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

Поэтому общие части выносят в отдельную оболочку - макет. Макет задаёт рамку, которая остаётся на месте, когда пользователь переходит между адресами. Меняется только содержимое внутри этой рамки - тот текст и блоки, которые относятся к одному конкретному URL.

Nuxt разделяет эти роли явно. Файлы в app/pages описывают страницы: уникальный контент для каждого адреса. Файлы макетов лежат в app/layouts и описывают то, что должно быть общим для группы страниц или для всего сайта.

Корневой компонент app/app.vue связывает макет и текущую страницу. Компонент NuxtLayout подставляет нужный файл из layouts, а NuxtPage - содержимое файла из pages, который соответствует запрошенному пути.

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

У страницы есть и то, что не видно в основной области экрана: заголовок вкладки браузера и краткое описание для поисковых систем. Их тоже задают со стороны страницы, а Nuxt вставляет в служебную разметку документа. Макет отвечает за вид страницы на экране, а служебные поля дополняют документ для браузера и поиска, не смешиваясь с шапкой и подвалом сайта.

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