Сервер

Создавайте приложения полного стека на серверной части Nuxt: данные из БД и API, свои эндпоинты и серверный контент вроде sitemap или RSS — в одной кодовой базе.
Узнать больше Docs > 3 X > Directory Structure > Server.

Работает на Nitro

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

Nitro даёт Nuxt такие возможности:

  • полный контроль над серверной частью приложения;
  • универсальное развёртывание у любого провайдера (часто без дополнительной настройки);
  • гибридный рендеринг.

Внутри Nitro — h3, минимальный HTTP-фреймворк для высокой производительности и переносимости.

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

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

И эндпоинты, и посредники можно определить так:

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

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

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

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

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

Nitro позволяет развернуть приложение Nuxt где угодно — от железа в ЦОД до глобальных сетей узлов — со временем холодного старта в миллисекундах.

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

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

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

Deno

Bun

Узнать больше Docs > 3 X > 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 и noScripts), специфичные для Nuxt и позволяющие изменять поведение при рендеринге страниц в HTML.

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

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

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