Вступление
Nuxt - это бесплатный фреймворк с открытым исходным кодом, интуитивно понятный и расширяемый способ создания типобезопасных, производительных и полноценных веб-приложений с помощью Vue.js.
Мы сделали все, чтобы вы могли начать писать файлы .vue с самого начала, наслаждаясь быстрой заменой модулей в процессе разработки и производительным приложением в процессе производства с рендерингом на стороне сервера по умолчанию.
Nuxt не имеет зависимостей, что позволяет вам развертывать свое приложение везде, даже на высоких нагрузках.
Автоматизация и соглашения
Nuxt использует соглашения и продуманную структуру каталогов для автоматизации повторяющихся задач и позволяет разработчикам сосредоточиться на расширении функций. Файл конфигурации по-прежнему остается настраиваемым и переопределяемым поведение по умолчанию.
- Маршрутизация на основе файлов: определите маршруты на основе структуры вашего
app/pages/каталога. Это может упростить организацию вашего приложения и избавить от необходимости настройки маршрута вручную. - Разделение кода: Nuxt автоматически разбивает ваш код на более мелкие фрагменты, что может помочь сократить время начальной загрузки вашего приложения.
- Рендеринг на стороне сервера "из коробки": Nuxt поставляется со встроенными возможностями SSR, поэтому вам не нужно самостоятельно настраивать отдельный сервер.
- Автоматический импорт: записывайте составные элементы и компоненты Vue в соответствующие каталоги и используйте их без необходимости импорта, используя преимущества древовидного анализа и оптимизированных javascript пакетов.
- Утилиты для извлечения данных: Nuxt предоставляет составные элементы для обработки SSR-совместимой выборки данных, а также различные стратегии.
- Поддержка TypeScript с нулевой настройкой: с помощью наших автоматически генерируемых типов и
tsconfig.jsonвы можете писать типобезопасный код без необходимости изучать TypeScript. - Настроенные инструменты сборки: по умолчанию мы используем Vite для поддержки горячей замены модулей (HMR) при разработке и комплектации вашего кода для производства с использованием лучших практик.
Nuxt заботится об этом и предоставляет как интерфейсную, так и серверную функциональность, чтобы вы могли сосредоточиться на главном: создании своего веб-приложения.
Рендеринг на стороне сервера
По умолчанию Nuxt поставляется со встроенными возможностями рендеринга на стороне сервера (SSR) без необходимости самостоятельной настройки сервера, что имеет много преимуществ для веб-приложений:
- Ускоренное время начальной загрузки страницы: Nuxt отправляет в браузер полностью отрисованную HTML-страницу, которая может быть немедленно отображена. Это может ускорить время загрузки страницы и улучшить пользовательский опыт, особенно в медленных сетях или на устройствах.
- Улучшенное SEO: поисковые системы могут лучше индексировать страницы SSR, поскольку HTML-контент доступен сразу, а не требует JavaScript для отображения контента на стороне клиента.
- Повышение производительности на маломощных устройствах: это сокращает объем JavaScript, который необходимо загружать и выполнять на стороне клиента, что может быть полезно для маломощных устройств, которые могут испытывать трудности с обработкой тяжелых приложений JavaScript.
- Улучшенная доступность: контент становится доступен сразу же после загрузки страницы, что повышает доступность для пользователей, которые используют программы чтения с экрана или другие вспомогательные технологии.
- Упрощенное кэширование: страницы могут кэшироваться на стороне сервера, что может еще больше повысить производительность за счет сокращения времени, необходимого для создания и отправки контента клиенту.
В целом, рендеринг на стороне сервера может обеспечить более быструю и эффективную работу пользователей, а также улучшить поисковую оптимизацию и доступность.
Поскольку Nuxt - это универсальный фреймворк, он дает вам возможность статически отображать все ваше приложение на статическом хостинге с помощью nuxt generate, отключать SSR глобально с помощью опции ssr: false или использовать гибридный рендеринг, настроив опцию routeRules.
Серверный движок
Серверный движок Nuxt Nitro открывает новые возможности для fullstack приложений.
В процессе разработки он использует Rollup и воркеры Node.js для вашего серверного кода и изоляции контекста. Он также генерирует ваш серверный API путем чтения файлов из server/api/ и серверного промежуточного программного обеспечения из server/middleware/.
В процессе работы Nitro объединяет ваше приложение и сервер в один универсальный каталог .output. Этот каталог упрощен: он минимизирован и из него удалены модули Node.js (за исключением polyfills). Вы можете развернуть этот вывод в любой системе, поддерживающей JavaScript, будь то Node.js, Serverless, как SSR или как чистую статику.
Готовность к продакшену
Приложение Nuxt может быть развернуто на сервере Node или Deno, предварительно отрисовано для размещения в статических средах или развернуто у бессерверных и периферийных поставщиков.
Модульность
Модульная система позволяет расширять Nuxt за счет пользовательских функций и интеграции со сторонними сервисами.
Архитектура
Nuxt состоит из различных основных пакетов:
- Основной движок: nuxt
- Упаковщики: @nuxt/vite-builder, @nuxt/rspack-builder и @nuxt/webpack-builder
- Интерфейс командной строки: @nuxt/cli
- Серверный движок: nitro
- Набор для разработки: @nuxt/kit
Мы рекомендуем ознакомиться с каждой концепцией, чтобы получить полное представление о возможностях Nuxt и объеме каждого пакета.