목차
<aside> <img src="/icons/search_blue.svg" alt="/icons/search_blue.svg" width="40px" /> Next 13의 5가지 큰 변화
app
디렉토리 구조가 도입되었습니다. 이 구조는 페이지 기반 라우팅을 더욱 명확하게 하고, 더 나은 파일 구조를 제공합니다.Next.js 12 버전까지 공통 레이아웃을 유지할 수 있는 방법은 _app
이 유일
→ 각 페이지 별로 서로 다른 레이아웃을 유지할 수 있도록 app 레이아웃 등장
라우팅
기존에는 파일 시스템 기반으로 동작 (/pages/
하위)
Next.13부터 /app/a/b
는 /a/b
로 변환되고 파일명은 무시
→ app 디렉터리 내부의 파일명은 라우팅 명칭에 영향이 없음
→ app/blog/post.tsx
⇒ /blog/post 라우트가 자동 생성
app 디렉터리 내부 폴더명이 라우팅됨
→ 파일명 라우팅에서 폴더명 라우팅으로 변경
app/
├── layout.tsx # 기본 레이아웃을 정의
├── page.tsx # 루트 경로(/)에 대한 페이지 정의
├── about/
│ └── page.tsx # /about 경로에 대한 페이지 정의
├── product/
│ ├── [id]/
│ │ └── page.tsx # /product/[id] 경로에 대한 동적 페이지 정의
│ └── layout.tsx # /product 경로의 레이아웃 정의
├── error.tsx # 오류 상태에 대한 화면 정의
└── loading.tsx # 로딩 상태에 대한 화면 정의