Как устроен фреймворк Nuxt?
Nuxt построен вокруг Vue и добавляет слой приложения, основанный на соглашениях. Его документированная общедоступная архитектура включает компоненты Vue, маршрутизацию на основе файлов, управление рендерингом, утилиты для данных, инструменты сборки и сервер на базе Nitro.
Это описание относится к фреймворку, которым могут пользоваться разработчики. Оно не делает выводов о закрытой архитектуре хостинга, хранения, мониторинга или внутреннего развёртывания nuxt.com на основании общедоступных сигналов.
Общедоступные слои фреймворка
| Слой | Документированная ответственность |
|---|---|
| Vue | Компоненты, шаблоны, реактивность, композаблы и взаимодействие в браузере |
| Соглашения приложения Nuxt | Страницы, макеты, промежуточное ПО, плагины, автоматические импорты, конфигурация и шаблоны работы с данными |
| Файловый маршрутизатор | Преобразует файлы Vue в app/pages/ в маршруты приложения |
| Система рендеринга | Поддерживает универсальный, клиентский, предварительный рендеринг и гибридное поведение маршрутов |
| Nitro | Выполняет серверный рендеринг, обработчики API, промежуточное ПО, серверные плагины и формирует результат, ориентированный на развёртывание |
| Необязательные модули | Расширяют Nuxt, не делая каждую возможность частью ядра фреймворка |
| Nuxt Content | Добавляет файловые коллекции контента, запросы, навигационные данные и поддержку MDC |
Как может проходить запрос
- URL соответствует маршруту страницы, серверному маршруту или обработчику API, созданному из структуры проекта.
- Правила маршрутов могут изменять рендеринг, кеширование, перенаправление или исключительно клиентское поведение для этого пути.
- Nitro выполняет серверную работу во время запроса, когда она требуется выбранному режиму.
- Vue рендерит интерфейс, а универсальные страницы могут гидратироваться в браузере для обеспечения интерактивности.
- Предварительно отрендеренные маршруты вместо этого могут отдавать результат, созданный во время сборки.
Выбранная предустановка развёртывания адаптирует результат Nitro для поддерживаемой среды выполнения. Возможности платформы по-прежнему имеют значение: интеграция кеша, инкрементальная регенерация, доступные серверные API и поведение процессов могут различаться между хостингами.
Поэтому проверка архитектуры должна охватывать версию Nuxt, включённые модули, правила маршрутов, клиентскую нагрузку, исключительно серверные границы и целевую среду выполнения. Фреймворк предоставляет составные части, а каждый проект определяет способ их сочетания.
