본문 바로가기

Study/NextJS 공식문서

[1주 차] 프로젝트 구조

최상위 디렉토리

최상위 디렉토리들은 애플리케이션의 루트 디렉토리에 위치하며, 애플리케이션의 코드와 정적 자원을 구성하는데 사용된다.

// App Router
project/
  ├─ app/                   // App Router 
  └─ public/                // 정적 파일을 저장하는 디렉토리
 
 // Pages Router
 project/
  ├─ pages/                 // Page Router
  └─ public/                // 정적 파일을 저장하는 디렉토리
 
 // src 사용(선택)
 project/
  ├─ public/                // 정적 파일을 저장하는 디렉토리
  └─ src/                   // 애플리케이션 소스 코드 디렉토리
      └─ app/               // App Router

 

최상위 파일들

project/
  ├─ next.config.js            // NextJS 설정
  ├─ package.json              // 프로젝트 의존성 및 스크립트
  ├─ instrumentation.ts        // 모니터링 설정
  ├─ middleware.ts             // NextJS 미들웨어
  ├─ .env.local                // 로컬 환경 변수
  ├─ .env.development          // 개발 환경 변수
  ├─ .env.production           // 프로덕션 환경 변수
  ├─ .eslintrc.json            // ESLint 설정
  ├─ .gitignore                // Git 제외 파일
  ├─ next-env.d.ts             // NextJS TypeScript 선언
  └─ tsconfig.json             // TypeScript 설정

 

App Routing 규칙

app/
  ├─ A Page
  │    ├─ layout.tsx          // A 페이지 공통 레이아웃
  │    ├─ page.tsx            // A 페이지 UI
  │    ├─ template.tsx        // A 페이지 동적 레이아웃 관리
  │    ├─ loading.tsx         // A 페이지 로딩 UI
  │    └─ error.tsx           // A 페이지 에러 UI
  ├─ B Page
  ├─ C Page
  ├─ layout.tsx          // 전역 공통 레이아웃
  ├─ page.tsx            // 루트 페이지 UI
  ├─ template.tsx        // 전역 동적 레이아웃 관리
  ├─ loading.tsx         // 루트 페이지 및 하위 페이지 로딩 UI
  ├─ error.tsx           // 루트 페이지 및 하위 페이지 에러 UI
  ├─ not-found.tsx       // 전역 404 페이지
  ├─ global-error.tsx    // 전역 에러 UI
  ├─ route.ts            // API 엔드포인트 정의
  └─ default.tsx         // 병렬 라우트 폴백 UI

'Study > NextJS 공식문서' 카테고리의 다른 글

[2주 차] Loading UI and Streaming  (0) 2025.01.11
[2주 차] Linking and Navigating  (0) 2025.01.10
[2주 차] Layout and Template  (0) 2025.01.10
[2주 차] Defining Routes  (0) 2025.01.10
[1주 차] 설치하기  (0) 2025.01.05