37% OFF during Black Friday at Mastering Nuxt.

Сервер

Создавайте full-stack приложения с серверной инфраструктурой Nuxt. Вы можете извлекать данные из своей базы данных или другого сервера, создавать API или даже генерировать статический серверный контент, такой как карта сайта или RSS-канал — все это из одной кодовой базы.
Узнать больше Docs > Guide > Directory Structure > Server.

Работает на Nitro

Серверный движок

Сервер Nuxt — Nitro. Изначально он был создан для Nuxt, но теперь является частью UnJS и открыт для других фреймворков — и даже может использоваться сам по себе.

Использование Nitro дает Nuxt суперспособности:

  • Полный контроль над серверной частью вашего приложения
  • Универсальное развертывание на любом провайдере (многие с нулевой конфигурацией)
  • Гибридный рендеринг

Nitro использует внутри себя h3, минимальный фреймворк H(TTP), созданный для обеспечения высокой производительности и портативности.

Посмотрите видео от Александра Лихтера, чтобы понять зону ответственности Nuxt и Nitro в вашем приложении.

Серверные эндпоинты и middleware

Вы можете легко управлять серверной частью приложения Nuxt: от API-эндпоинтов до middleware.

И эндпоинты, и middleware можно определить следующим образом::

server/api/test.ts
export default 
defineEventHandler
(async (
event
) => {
// ... Делайте здесь все, что хотите. })

И вы можете напрямую вернуть text, json, html или даже stream.

По умолчанию Nitro поддерживает горячую замену модулей и автоматический импорт, как и другие части вашего приложения Nuxt.

Узнать больше Docs > Guide > Directory Structure > Server.

Универсальное развертывание

Nitro предлагает возможность развернуть приложение Nuxt где угодно - от сервера на голом железе до сетей серверов - со временем запуска всего в несколько миллисекунд. Это быстро!

Узнать больше Blog > Nuxt On The Edge.

Существует более 15 предустановок для создания приложения Nuxt для различных облачных провайдеров и серверов, таких как:

Или для других сред выполнения:

Deno

Bun

Узнать больше Docs > Getting Started > Deployment.

Гибридный рендеринг

В Nitro есть мощная функция под названием routeRules, которая позволяет вам определить набор правил для настройки того, как будет отображаться каждый маршрут вашего приложения Nuxt (и многое другое).

nuxt.config.ts
export default 
defineNuxtConfig
({
routeRules
: {
// Создается во время сборки в целях SEO '/': {
prerender
: true },
// Кэшируется на 1 час '/api/*': {
cache
: {
maxAge
: 60 * 60 } },
// Перенаправление для избежания 404 '/old-page': {
redirect
: {
to
: '/new-page',
statusCode
: 302 }
} // ... } })
Узнайте обо всех доступных правилах маршрутизации и настройте режим рендеринга ваших маршрутов.

Кроме того, существуют некоторые правила маршрутизации (например, ssr, appMiddleware и experimentalNoScripts), специфичные для Nuxt и позволяющие изменять поведение при рендеринге страниц в HTML.

Некоторые правила маршрутизации (appMiddleware, redirect и prerender) также влияют на поведение на стороне клиента.

Nitro используется для создания приложения для рендеринга на стороне сервера, а также для предварительного рендеринга.

Узнать больше Docs > Guide > Concepts > Rendering.