
요약: 최근 72시간 Nuxt·Vue·Vite·Nitro 흐름의 핵심은 ‘지금 업그레이드할 안정판’보다 SSR/정적 배포 경계를 재구성하는 다음 세대 작업을 안전하게 검증하는 일이다. Vue 3.6 RC, Nuxt의 experimental pure Vite server, 그리고 baseURL·요청 헤더·asset 처리 보완은 Nuxt 프론트엔드 팀이 배포 경로와 회귀 테스트를 먼저 정리해야 한다는 신호다.
핵심 답변: 이번 3일에 Nuxt 팀이 바로 할 일은?
답: Vue 3.6.0-rc.6와 Nuxt/Nitro의 main 변경을 운영 의존성으로 올리지는 말고, 별도 검증 브랜치에서 SSR hydration, 서브패스(baseURL), catch-all 라우팅, 요청 헤더 전달, 정적 SPA 산출물을 테스트해야 한다. 확인된 릴리즈는 Vue의 3.6.0-rc.6 prerelease이며, Nuxt와 Nitro의 핵심 변화는 아직 main 브랜치의 미출시 작업이다.
- 프로덕션 판단: RC와 main 커밋을 일반 패치 릴리즈처럼 배포하지 않는다.
- 테스트 우선순위: 서브디렉터리 배포, SSR에서 API 호출 시 쿠키/인증 헤더, 동적 라우트, preload 자산을 먼저 확인한다.
- 아키텍처 판단: Vite-only 정적 SPA 경로는 실험 환경에서 Nitro 서버 경로와 비용·캐시·배포 구성을 비교한다.
3일 결론: ‘런타임 교체’보다 배포 경계의 명시화
확인된 사실은 Vue가 새 RC를 공개했고, Nuxt와 Nitro 저장소에서 Vite 서버 분리 및 라우팅·요청 경계의 보완이 진행됐다는 점이다. 여기서의 해석은, Nuxt 팀이 프레임워크 버전 하나를 올리는 문제보다 어떤 앱은 SSR/Nitro로, 어떤 앱은 정적 SPA로 제공할지를 명시하고 그 경계를 테스트로 고정해야 한다는 것이다. 이 해석은 향후 정식 릴리즈의 보장은 아니며, main 변경은 반영 전까지 개발 방향으로만 다뤄야 한다.
흐름 1: Vue 3.6 RC — Vapor 실험은 격리된 회귀 테스트로
확인된 사실
Vue는 8월 28일 v3.6.0-rc.6를 prerelease로 공개했다. 릴리즈 본문은 안정판 상세는 main CHANGELOG, prerelease 상세는 minor 브랜치 CHANGELOG를 보라고 안내한다. 해당 changelog의 3.6 계열 문서는 Vapor와 VDOM 상호운용성, 전환(Transition) 동작을 계속 다루며, Vapor 이벤트 위임은 opt-in이라는 점도 명시한다.
왜 중요한가
Nuxt 애플리케이션은 SSR·hydration·Suspense·Transition 같은 렌더링 경계에서 문제가 드러나기 쉽다. RC의 존재만으로 Vapor를 적용하거나 Vue 버전을 일괄 변경할 근거는 되지 않는다. 대신 현재 프로젝트의 컴포넌트 테스트와 브라우저 E2E에 SSR hydration mismatch, transition group, async component 조합을 넣어 두면 정식 릴리즈 판단에 사용할 안전한 기준선이 생긴다.
흐름 2: Nuxt main의 experimental pure Vite server — 서버 없는 SPA 경로의 명시적 실험
확인된 사실
8월 30일 Nuxt main에 experimental pure Vite server가 추가됐다. 커밋에 포함된 문서는 기본값인 @nuxt/nitro-server와 달리 @nuxt/vite-server가 Vite만으로 동작하며, ssr: false일 때 서버 자체를 포함하지 않는 정적 SPA 산출물을 만든다고 설명한다. 이는 main 브랜치 변경이며 출시된 Nuxt 기능이라고 말할 수 없다.
프론트엔드 시사점
대시보드·로그인 뒤 업무 화면처럼 SSR 이점이 작고 정적 호스팅이 유리한 영역에는 관심을 가질 만한 방향이다. 반대로 SEO, 요청별 인증, 서버 렌더링 데이터, edge middleware가 필요한 페이지는 Nitro 경로와 함께 설계해야 한다. 실험 시에는 동일 라우트로 build output 크기, cache header, 404 fallback, 환경변수 노출 범위를 비교하고 결과를 문서화한다.
흐름 3: baseURL·라우팅·요청 전달 — 서브패스 배포가 이번 3일의 공통 경계
확인된 사실
Nitro main에는 8월 28일 단일 catch-all 라우트에서 baseURL을 존중하도록 하는 라우팅 수정이 들어갔다. 같은 기간 Nuxt main에도 서버 라우팅에 baseURL을 적용하고, useRequestFetch가 요청 헤더를 전달하도록 하는 수정, Nitro asset 디렉터리 alias 해석과 누락 디렉터리 경고, stable entry chunk의 preload 의존성 제외 작업이 기록됐다. 모두 main의 미출시 커밋이다.
왜 중요한가
/app/ 같은 서브패스, 프록시 뒤 배포, catch-all API, SSR 내부 fetch는 로컬 루트 배포에서는 지나가기 쉬운 실패 지점이다. 특히 인증이나 locale 정보를 헤더로 넘기는 서버 렌더링은 ‘브라우저에서는 된다’는 확인만으로 충분하지 않다. 이번 변경 묶음은 기능 추가라기보다 배포 환경의 가정을 테스트에 드러내는 품질 작업으로 읽는 편이 정확하다.
흐름 4: Vite는 조용했고, Nuxt의 Vite 통합 계층을 분리해 관찰할 때
72시간 창에서 Vite 저장소의 확인 가능한 핵심 활동은 문서 용어 정리에 가까웠고, 새 Vite 릴리즈는 확인하지 못했다. 따라서 ‘Vite가 새 기능을 출시했다’고 포장하지 않는다. 다만 Nuxt main의 pure Vite server, Nitro asset alias와 preload 의존성 수정은 Nuxt 팀이 Vite 자체의 버전 숫자보다 Nuxt가 Vite 산출물·dev server·서버 통합을 어떻게 감싸는지에 주목해야 함을 보여 준다. Vite 또는 Rolldown 관련 의존성을 main에서 따라가는 것은 일반 운영 배포가 아니라 호환성 검증 작업으로 제한한다.
프론트엔드 개발자 체크리스트
- RC 격리: Vue 3.6 RC용 lockfile/CI job을 별도로 만들고, production lockfile은 유지한다.
- SSR 회귀: hydration, async component, Transition/TransitionGroup, error page를 실제 SSR 응답과 함께 E2E로 확인한다.
- 서브패스:
baseURL을 설정한 스테이징 URL에서 링크·navigateTo·catch-all API·정적 asset·404를 순서대로 검증한다. - 요청 경계: SSR의
useRequestFetch가 필요한 cookie/authorization/locale 헤더만 전달하는지, 민감 헤더가 외부 origin으로 나가지 않는지 확인한다. - 정적 SPA 실험: experimental Vite server는 별도 브랜치에서만 실행하고, Nitro SSR 대비 redirect·fallback·캐시·환경변수 노출을 비교한다.
- 릴리즈 판정: main 커밋은 changelog·릴리즈 태그가 나올 때까지 배포 근거로 쓰지 않고, 정확한 커밋 URL을 이슈/ADR에 남긴다.
짧은 Q&A
Q. Vue 3.6.0-rc.6로 바로 올려도 되나?
A. 아니다. prerelease다. CI와 스테이징에서 호환성을 확인하는 것이 우선이며, 정식 릴리즈 노트와 프로젝트 의존성의 peer dependency 범위를 확인한 뒤에 배포 일정을 정한다.
Q. pure Vite server를 쓰면 Nuxt SSR이 자동으로 더 빨라지나?
A. 아니다. 문서상 이 실험 경로는 ssr: false에서 서버 없는 정적 SPA를 만드는 방향이다. SSR 최적화와 동일한 기능이 아니므로 렌더링 요구사항을 먼저 분류해야 한다.
Q. 가장 작은 실무 변경은 무엇인가?
A. 스테이징 CI에 서브패스 URL과 SSR 요청 헤더를 포함한 smoke test를 추가하는 것이다. 이는 새 프레임워크 버전을 도입하지 않고도 이번 3일의 핵심 위험을 줄인다.
주요 출처
- Vue v3.6.0-rc.6 release — 2026-08-28 공개된 prerelease.
- Vue minor CHANGELOG — 3.6 계열 및 Vapor/VDOM 상호운용성 참고.
- Nuxt main: experimental pure Vite server — 미출시 개발 작업.
- Nitro main: baseURL for single catch-all routes — 미출시 개발 작업.
- Nuxt main: forward request headers with useRequestFetch — 미출시 개발 작업.
오늘의 결론
이번 3일의 Nuxt Trend는 ‘새 버전을 즉시 설치하라’는 신호가 아니다. Vue RC는 격리된 회귀 테스트로, Nuxt/Nitro main 변경은 실험적 아키텍처와 배포 경계의 관찰 대상으로 다루는 것이 안전하다. 특히 서브패스·SSR 요청·catch-all 라우팅을 실제 스테이징 환경에서 검증하면 정식 릴리즈가 나왔을 때 훨씬 낮은 위험으로 전환할 수 있다.
더 깊게 읽기: 실전 가이드
이 리포트는 최근 흐름을 빠르게 파악하기 위한 요약입니다. 실제 프로젝트에 적용할 때는 아래의 기준 글과 함께 확인하면 더 안전합니다.
