지연 로딩 선택 기준

처음부터 보낼 코드만 남긴다

코드 분할은 모든 코드를 작게 쪼개는 일이 아니라, 첫 화면과 사용자 행동 뒤의 코드를 구분하는 일이다.

Question 1

첫 화면에 필요한가?

필수 UI라면 기본 번들에 남기고, 아래쪽 섹션이면 지연 로딩 후보로 본다.

Question 2

무거운 의존성이 있는가?

지도, 차트, 에디터처럼 큰 라이브러리는 next/dynamic을 검토한다.

Question 3

상호작용 뒤에 필요한가?

버튼 클릭, 탭 전환, 모달 열림 이후에 필요한 코드는 늦게 받아도 된다.

자동 분할 라우트 단위 코드는 Next.js가 기본으로 나눈다

페이지 이동 비용은 라우트 경계에서 먼저 나뉜다고 보고 시작한다.

동적 임포트 무거운 UI는 필요할 때 불러온다

조건부로 보이는 클라이언트 컴포넌트에 사용한다.

서버 경계 브라우저 JS가 필요 없는 로직은 서버에 둔다

계산과 데이터 조립은 client 경계 밖으로 빼는 것이 가장 강하다.

예: keep 처음 보이는 핵심 UI, 내비게이션, SEO 본문
예: split 특정 라우트 전용 관리자 도구와 대시보드
예: lazy 클릭 후 열리는 지도, 차트, 에디터, 모달