App Router는 폴더를 URL 후보로 읽고 예약 파일이 있을 때 화면과 동작을 만든다
폴더 이름만으로 화면이 생기지 않는다. URL에 포함되는 폴더와 제외되는 폴더, 그리고 page/layout 같은 예약 파일을 함께 봐야 한다.
| 구조 | 라우팅 의미 | 화면 생성 조건 | 주의할 예외 |
|---|---|---|---|
| app/dashboard | /dashboard 후보 세그먼트 | page.tsx가 있으면 접근 가능 | 폴더만 있으면 페이지가 아님 |
| page.tsx | 해당 세그먼트의 고유 UI | URL의 최종 화면 | children prop을 받지 않음 |
| layout.tsx | 하위 세그먼트를 감싸는 공유 UI | children 위치가 필요 | 루트 layout은 html/body 필수 |
| (marketing) | URL에 빠지는 라우트 그룹 | 안쪽 page가 실제 경로 생성 | 같은 URL 충돌 주의 |
| _components | 라우팅 제외 private folder | 직접 URL이 되지 않음 | 공용 UI 보관 용도 |