프로젝트 파일 및 폴더 구조

이 페이지는 파일 및 폴더 구조를 프로젝트에 맞게 설계할 수 있는 개요를 제공합니다. 해당 문서는 아래 문서들의 개념을 이미 읽었다고 가정합니다.

키워드

  • under score folder: underscore prefix(예시 _components) 인 폴더는 라우팅 목적이 아닌 모듈에 대한 네이밍으로 라우터에서 제외됩니다.
  • parenthesis folder: parenthesis prefix(예시 auth) 인 폴더는 로직 그룹화를 위한 네이밍으로 라우터에서 제외됩니다.

최상위 구조

명칭설명
_providerscontext 모듈
_storeredux 즉 reducer 모듈
_utils플러그인, 예외처리 등 유틸함수 제공
[lang]다국어 지원 목적으로 라우팅 파라미터로 분리된 모듈
config프로젝트 설정과 관련된 전역 변수들을 관리하는 모듈
styles전역 스타일을 정의하는 파일
locales다국어 지원 문자를 정의하는 파일

모듈 구조

서비스 단위로 구성된 폴더는 해당 폴더를 삭제하더라도 서비스가 동작하는데 문제가 없어야 합니다.
또한, 폴더 내부의 파일은 해당 폴더의 기능을 설명하는 파일이어야 합니다.
독립적인 모듈 구조를 이룰 수 있도록 설계해야 합니다.

명칭설명
page.(mdx|tsx)폴더에 해당하는 페이지 파일
layout.(mdx|tsx)폴더에 해당하는 레이아웃 파일
_components/client-only상위 폴더내에서 사용되는 반응형 컴포넌트
_components/server-only상위 폴더내에서 사용되는 서버 컴포넌트
_components/server-client서버와 클라이언트 컴포넌트를 기반으로 제작된 컴포넌트