Server

Nuxt의 서버 프레임워크로 풀스택 애플리케이션을 구축하세요. 데이터베이스나 다른 서버에서 데이터를 가져오고, API를 생성하거나, 사이트맵이나 RSS 피드 같은 정적 서버 사이드 콘텐츠를 생성하는 것까지 - 모두 단일 코드베이스에서 할 수 있습니다.
Read more in Docs > 4 X > Directory Structure > Server.

Nitro 기반

Nuxt의 서버는 Nitro입니다. 원래 Nuxt를 위해 만들어졌지만, 이제는 UnJS의 일부가 되어 다른 프레임워크에도 열려 있으며, 단독으로도 사용할 수 있습니다.

Nitro를 사용하면 Nuxt는 다음과 같은 초능력을 얻게 됩니다:

  • 앱의 서버 사이드 부분에 대한 완전한 제어
  • 어떤 제공업체에서도 가능한 범용 배포(많은 경우 설정 불필요)
  • 하이브리드 렌더링

Nitro는 내부적으로 고성능과 이식성을 위해 만들어진 최소한의 H(TTP) 프레임워크인 h3를 사용합니다.

서버 엔드포인트 & 미들웨어

API 엔드포인트부터 미들웨어까지, Nuxt 앱의 서버 전용 부분을 쉽게 관리할 수 있습니다.

엔드포인트와 미들웨어는 다음과 같이 정의할 수 있습니다:

server/api/test.ts
export default defineEventHandler(async (event) => {
  // ... 여기에서 원하는 작업을 수행하세요
})

그리고 text, json, html 또는 stream까지 직접 반환할 수 있습니다.

기본적으로, Nuxt 애플리케이션의 다른 부분과 마찬가지로 핫 모듈 교체자동 임포트를 지원합니다.

Read more in Docs > 4 X > Directory Structure > Server.

범용 배포

Nitro는 베어 메탈 서버부터 엣지 네트워크까지 어디에나 Nuxt 앱을 배포할 수 있는 기능을 제공하며, 시작 시간은 몇 밀리초에 불과합니다. 매우 빠릅니다!

Read more in https://nuxt.com/blog/nuxt-on-the-edge.

다음과 같은 다양한 클라우드 제공업체와 서버를 위한 15개 이상의 프리셋이 제공됩니다:

또는 다른 런타임용으로:

Deno

Bun

Read more in Docs > 4 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와 같이, 페이지를 HTML로 렌더링할 때의 동작을 변경하기 위한 Nuxt 전용 라우트 규칙도 있습니다.

일부 라우트 규칙(appMiddleware, redirect, prerender)은 클라이언트 측 동작에도 영향을 줍니다.

Nitro는 서버 사이드 렌더링과 프리렌더링을 위해 앱을 빌드하는 데 사용됩니다.

Read more in Docs > 4 X > Guide > Concepts > Rendering.