Next.js 15 Tutorial - 16 - Multiple Root Layouts
Создание многоуровневых макетов в Next.js
Введение в проект
- Автор переключился на новый проект для упрощения демонстрации создания приложения с маршрутами для страниц Revenue и Customers, а также логина и регистрации.
- Задача состоит в том, чтобы страницы Revenue и Customers имели заголовок и подвал, тогда как страницы логина и регистрации должны оставаться чистыми и минималистичными.
Проблема с единственным корневым макетом
- Если добавить заголовок и подвал в файл root layout.tsx, они будут применены ко всем страницам приложения.
- Обсуждается необходимость различных макетов для разных частей приложения, что приводит к использованию нескольких корневых макетов.
Использование групп маршрутов
- Группы маршрутов помогают организовать структуру проекта без изменения URL. Они позволяют применять макеты выборочно к определённым частям приложения.
- Создаются две группы маршрутов: одна для маркетинга (Revenue и Customers), другая — для логина и регистрации.
Перемещение файлов макета
- Файл root layout.tsx перемещается из папки app в группу маршрутов маркетинга с обновлением импортов; его название меняется на marketing layout.
- Создаётся новый макет в группе O: файл копируется и переименовывается в Au layout, при этом удаляется заголовок, остаётся только подвал.
Проверка изменений
- После сохранения файлов возникает ошибка: page.tsx не имеет корневого макета. Необходимо переместить этот файл в группу маршрутов маркетинга.
- При проверке браузера видно, что URL остались прежними; страницы логина и регистрации теперь имеют только подвал, а страницы клиентов — оба элемента (заголовок и подвал).
Заключение о мощи групп маршрутов