서버
Nuxt의 서버 프레임워크를 사용하여 풀스택 애플리케이션을 구축하세요. 데이터베이스나 다른 서버에서 데이터를 가져오거나, API를 생성하거나, 사이트맵이나 RSS 피드와 같은 정적 서버 사이드 콘텐츠를 생성할 수 있습니다 - 모두 단일 코드베이스에서 가능합니다.
Nitro로 구동
Nuxt의 서버는 Nitro입니다. 원래 Nuxt를 위해 만들어졌지만 이제는 UnJS의 일부로 다른 프레임워크에서도 사용할 수 있으며, 독립적으로도 사용할 수 있습니다.
Nitro를 사용하면 Nuxt에 슈퍼파워를 제공합니다:
- 앱의 서버 사이드 부분에 대한 완전한 제어
- 모든 제공자에 대한 유니버설 배포 (많은 경우 설정 필요 없음)
- 하이브리드 렌더링
Nitro는 내부적으로 고성능과 이식성을 위해 구축된 최소한의 H(TTP) 프레임워크인 h3를 사용합니다.
서버 엔드포인트 및 미들웨어
API 엔드포인트부터 미들웨어까지 Nuxt 앱의 서버 전용 부분을 쉽게 관리할 수 있습니다.
엔드포인트와 미들웨어는 다음과 같이 정의할 수 있습니다:
export default defineEventHandler(async (event) => {
// ... 원하는 작업을 여기에 수행하세요
})
그리고 text
, json
, html
또는 stream
을 직접 반환할 수 있습니다.
기본적으로, Nuxt 애플리케이션의 다른 부분과 마찬가지로 핫 모듈 교체와 자동 임포트를 지원합니다.
이것도 참고 guide > directory-structure > server유니버설 배포
Nitro는 몇 밀리초 만에 시작할 수 있는 베어 메탈 서버부터 엣지 네트워크까지 어디서든 Nuxt 앱을 배포할 수 있는 기능을 제공합니다. 정말 빠릅니다!
이것도 참고 blog > nuxt-on-the-edge다양한 클라우드 제공자 및 서버에 맞춰 Nuxt 앱을 빌드할 수 있는 15개 이상의 프리셋이 있습니다:
또는 다른 런타임을 위해:
이것도 참고 getting-started > deployment하이브리드 렌더링
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
, noScripts
와 같은 일부 경로 규칙은 Nuxt에 특화되어 페이지를 HTML로 렌더링할 때의 동작을 변경합니다.
일부 경로 규칙 (appMiddleware
, redirect
, prerender
)은 클라이언트 측 동작에도 영향을 미칩니다.
Nitro는 서버 사이드 렌더링 및 사전 렌더링을 위해 앱을 빌드하는 데 사용됩니다.
이것도 참고 guide > concepts > rendering※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/getting-started/server