피드로 돌아가기
How a Broken Logo Animation Taught Me How Next.js Really Boots
Dev.toDev.to
Frontend

Next.js Pre-hydration 단계의 CSS 로드 제약 해결을 통한 로고 애니메이션 복구

How a Broken Logo Animation Taught Me How Next.js Really Boots

Sulagna Ghosh2026년 4월 27일17intermediate

Context

Next.js의 Hydration 이전 단계에서 실행되는 Server-side Rendering 기반의 Loading Screen 구조. CSS Import 시점이 Hydration 이후에 발생하여 초기 로딩 화면에서 스타일이 누락되는 Critical CSS 부재 현상 발생.

Technical Solution

  • 외부 CSS 파일 Import 방식의 지연 로드 문제를 해결하기 위한 Inline CSS 도입
  • Pre-hydration 단계에서 즉시 렌더링 가능한 <style> 태그 내 직접 스타일 정의
  • DOM 조작을 위해 React Lifecycle 외부에서 동작하는 vanilla JS 기반의 loadingMessages.js 활용
  • active 클래스 토글 로직을 vanilla JS로 구현하여 CSS Transition과 연동한 순차적 애니메이션 제어
  • Turbopack의 Internal Error로 인한 번들링 제약을 회피하고 런타임 스타일 적용 보장

1. SSR/Hydration 이전 단계의 UI 요소는 External CSS가 아닌 Inline Style이나 Critical CSS로 정의했는지 확인

2. Next.js의 Hydration 시점과 브라우저의 스타일 적용 시점 간의 Gap을 분석하여 초기 렌더링 지연 요소 제거

3. 프레임워크 제약으로 인한 번들러 에러 발생 시, Vanilla JS를 이용한 DOM 직접 제어 가능성을 검토

원문 읽기