Nuxt 3
Nuxt это платформа с открытым исходным кодом под лицензией MIT для создания современных и производительных веб-приложений, которые могут работать практически на любых платформах где выполняется JavaScript.
Чтобы понять что такое Nuxt, разберемся что необходимо для современного приложения:
- JavaScript фреймворк, для "реактивности" и использования веб-компонентов, в Nuxt это
Vue.js
- Сборщик поддерживающий горячую перезагрузку в режиме разработки, и сборщик кода для упаковки и оптимизации кода приложения. Nuxt поддерживает два подхода
webpack 5
иVite
. - Преобразователь кода, чтобы использовать самый современный синтаксис JavaScript, при этом поддерживать устаревшие браузеры. В Nuxt используется
esbuild
. - Сервер для работы приложения в режиме разработки, который также будет поддерживать SSR (server side rendering) приложения или маршрутизацию API. В Nuxt это
h3
, чтобы обеспечить универсальность, будь то serevrless технологии, workers, Node.js или высокая производительность. - Библиотека маршрутизации на стороне клиента. В Nuxt это
vue-router
.
И так это основные концепции, и это только верхушка айсберга. Представьте, что все это установлено и настроено в вашем проекте, работает и поддерживается в течение времени. Команда Nuxt делает это с октября 2016 года, оттачивает конфигурацию для предоставления лучшей оптимизации и производительности для Vue приложений.
Nuxt заботится о работе клиента и сервера, чтобы можно было сосредоточиться на реально значимых вещах вашего приложения.
Автоматизация и соглашения
Nuxt использует соглашения и согласованную структуру директорий для автоматизации повторяющихся задач. Чтобы разработчик был сосредоточен на функциях приложения. Файл конфигурации можно изменить и переопределить значения по-умолчанию.
Режим отрисовки
Nuxt предлагает разные режимы отрисовки для лучшей адаптации по разыне варианты использования
- Универсальный (Отрисовка на сервере и наполнение (ssr and hydration))
- Только на стороне клиента
- Генерация статичных страниц
- Гибридный (кеширование на маршрутах)
Сервер
Nuxt использует Nitro.
В разработке, он использует Rollup и Node.js исполнители для серверного кода и изоляции контекста. Также создается API, через чтение файлов в директории server/api
и erver/middleare
.
В рабочем режиме, Nitro собирает сервер и приложение в одной универсальной директории .output
. Это оптимизировая, минифицированная, минимальная версия приложения, из которой так же удалены все node_modules
(исключая только polyfills). Можно развернуть эту в любой системе поддерживающей JavaScript.
Архитектура
Nuxt состоит из разных пакетов
- Ядро
nuxt
- Сборщики
@nuxt/vite-builder
,@nuxt/webapck-builder
- Командная строка
nuxi
- Сервер
nitro
- Набор разработки
@nuxt/kit
- Мост для Nuxt2
@nuxt/bridge
Nuxt отличная основа для Vue.js проекта.