Сервер
Работает на Nitro
Сервер Nuxt — Nitro. Изначально он был создан для Nuxt, но теперь является частью UnJS и открыт для других фреймворков — и даже может использоваться сам по себе.
Использование Nitro дает Nuxt суперспособности:
- Полный контроль над серверной частью вашего приложения
- Универсальное развертывание на любом провайдере (многие с нулевой конфигурацией)
- Гибридный рендеринг
Nitro использует внутри себя h3, минимальный фреймворк H(TTP), созданный для обеспечения высокой производительности и портативности.
Серверные эндпоинты и middleware
Вы можете легко управлять серверной частью приложения Nuxt: от API-эндпоинтов до middleware.
И эндпоинты, и middleware можно определить следующим образом::
export default defineEventHandler(async (event) => {
// ... Делайте здесь все, что хотите.
})
И вы можете напрямую вернуть text
, json
, html
или даже stream
.
По умолчанию Nitro поддерживает горячую замену модулей и автоматический импорт, как и другие части вашего приложения Nuxt.
Универсальное развертывание
Nitro предлагает возможность развернуть приложение Nuxt где угодно - от сервера на голом железе до сетей серверов - со временем запуска всего в несколько миллисекунд. Это быстро!
Существует более 15 предустановок для создания приложения Nuxt для различных облачных провайдеров и серверов, таких как:
Или для других сред выполнения:
Гибридный рендеринг
В Nitro есть мощная функция под названием routeRules
, которая позволяет вам определить набор правил для настройки того, как будет отображаться каждый маршрут вашего приложения Nuxt (и многое другое).
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 используется для создания приложения для рендеринга на стороне сервера, а также для предварительного рендеринга.