Next 공식 문서의 내용에 따라
Routing Group을 설정하는 방법을 알아보자.
SEO를 위해 서로 다른 페이지에 metadata를 별도로 설정하고 싶을 수 있다.
이 경우, Multiple root layout을 활용할 수 있다.
Routing Group은 Route Tree에는 영향을 미치지 않으면서,
내부적으로 로직에 따라 폴더 및 파일을 구분할 때 사용한다.
폴더 이름을 소괄호로 감싸서 사용한다.
(folderName)
다음과 같은 구조에서
checkout 페이지는 app 디렉토리에 정의된 Root Layout만 포함하고,
account, cart 페이지는 (shop) 그룹에 포함된 추가적인 layout을 포함하게 된다.
다시 말하지만 Route Group은 Route Tree에 영향을 미치지 않는다.
따라서, (marketing)/about/page.js
과 (shop)/about/page.js
는
모두 동일하게 /about
로 resolve되어 오류를 발생시킨다.
Route Tree의 동일한 수준의 Segment에 대해 적용되는 layout은 1개 이하이어야 한다. 즉, 동일한 수준의 Route Group이 병렬적으로 정의되어 있고, 각 그룹에 layout만 정의하고 별도의 segment를 생성하지 않은 경우 오류가 발생한다.
Dynamic Routes 기능은
build 시점에 정적으로 정해지지 않은 URL(pathname, searchParams)에 대해
runtime에 동적으로 전달될 URL을 통해 반환할 결과를 정하는 규칙을 정의한다.
Terminology
Defining Routes
Pages and Layouts
Linking and Navigating
Route Groups
Dynamic Routes
Loading UI and Streaming
Error Handling
Parallel Routes
Intercepting Routes
Route Handlers
Middleware
Project Organization
Internationalization