# [[Folder Structure]] ## πŸ“Œ Brief Summary 폴더 ꡬ쑰(Folder Structure)λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ 파일과 디렉터리λ₯Ό λ…Όλ¦¬μ μœΌλ‘œ μ‘°μ§ν•˜λŠ” μ•„ν‚€ν…μ²˜μ  κΈ°λ°˜μ„ μ˜λ―Έν•©λ‹ˆλ‹€ [1, 2]. μ΅œμ‹  ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμ—μ„œλŠ” λ‹¨μˆœν•œ 파일 μœ ν˜• 기반(File-Type Based) ꡬ쑰의 ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄, λΉ„μ¦ˆλ‹ˆμŠ€ λ„λ©”μΈμ΄λ‚˜ κΈ°λŠ₯(Feature)을 μ€‘μ‹¬μœΌλ‘œ λͺ¨λ“ˆν™”ν•˜λŠ” λ°©ν–₯으둜 μ§„ν™”ν•΄ μ™”μŠ΅λ‹ˆλ‹€ [3, 4]. 잘 μ„€κ³„λœ 폴더 κ΅¬μ‘°λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μœ μ§€λ³΄μˆ˜μ„±, ν™•μž₯μ„±, νŒ€ ν˜‘μ—… νš¨μœ¨μ„ κ·ΉλŒ€ν™”ν•˜κ³  기술 뢀채λ₯Ό μ€„μ΄λŠ” 데 핡심적인 역할을 ν•©λ‹ˆλ‹€ [2, 5-9]. ## πŸ“– Core Content - **κΈ°μ‘΄ ꡬ쑰의 ν•œκ³„μ™€ μ§„ν™”**: κ³Όκ±°μ—λŠ” μ»΄ν¬λ„ŒνŠΈ, ν›…, μŠ€νƒ€μΌ 등을 각각의 기술적 파일 μœ ν˜•λ³„ 폴더에 λͺ¨μ•„λ‘λŠ” 방식(File-Type Based Structure)을 주둜 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€ [3, 10]. 이 방식은 μ†Œκ·œλͺ¨ μ•±μ—μ„œλŠ” 섀정이 μ§κ΄€μ μ΄μ§€λ§Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 컀질수둝 ν•˜λ‚˜μ˜ κΈ°λŠ₯을 μˆ˜μ •ν•˜κΈ° μœ„ν•΄ μ—¬λŸ¬ 폴더λ₯Ό 탐색해야 ν•˜λ―€λ‘œ 개발자의 인지 λΆ€ν•˜λ₯Ό 높이고 μŠ€νŒŒκ²Œν‹° μ½”λ“œλ₯Ό μœ λ°œν•©λ‹ˆλ‹€ [3, 10]. - **κΈ°λŠ₯ 기반 쑰직(Feature-Based Organization)**: 2025λ…„ ν˜„μž¬ 업계 ν‘œμ€€μ€ λΉ„μ¦ˆλ‹ˆμŠ€ κΈ°λŠ₯(도메인)을 μ€‘μ‹¬μœΌλ‘œ μ½”λ“œλ₯Ό κ΅¬μ„±ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€ [4, 11]. `src/features/` 디렉터리 ν•˜μœ„μ— νŠΉμ • κΈ°λŠ₯(예: 인증, λŒ€μ‹œλ³΄λ“œ)κ³Ό κ΄€λ ¨λœ μ»΄ν¬λ„ŒνŠΈ, ν›…, API 둜직, νƒ€μž…μ„ λͺ¨μ•„두어 높은 응집도와 λͺ¨λ“ˆ 독립성을 ν™•λ³΄ν•©λ‹ˆλ‹€ [11, 12]. - **ꢌμž₯λ˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ 폴더 ꡬ쑰**: λŒ€κ·œλͺ¨ ν™•μž₯이 κ°€λŠ₯ν•œ React ν”„λ‘œμ νŠΈλŠ” 파일 μœ ν˜•κ³Ό κΈ°λŠ₯을 κ²°ν•©ν•œ ν•˜μ΄λΈŒλ¦¬λ“œ 디렉터리 ꡬ쑰λ₯Ό ꢌμž₯ν•©λ‹ˆλ‹€ [13]. λŒ€ν‘œμ μΈ `src/` ν•˜μœ„ ꡬ성은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€: - `assets/`: 이미지, 폰트 λ“± μ—¬λŸ¬ κΈ°λŠ₯μ—μ„œ κ³΅μœ λ˜λŠ” 정적 λ―Έλ””μ–΄ λ¦¬μ†ŒμŠ€ [13, 14]. - `components/`: λ²„νŠΌ, λͺ¨λ‹¬ λ“± 도메인에 μ’…μ†λ˜μ§€ μ•Šκ³  μž¬μ‚¬μš©λ˜λŠ” 곡톡 UI μ»΄ν¬λ„ŒνŠΈ [11, 14, 15]. - `features/`: 도메인별 νŠΉμ • λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 및 UIκ°€ μΊ‘μŠν™”λœ λͺ¨λ“ˆ [11, 12, 15]. - `pages/` (λ˜λŠ” `routes/`): λΌμš°νŒ…μ— λ§€ν•‘λ˜λŠ” νŽ˜μ΄μ§€ 레벨 μ»΄ν¬λ„ŒνŠΈ [16, 17]. - `hooks/`, `services/`, `utils/`: 곡톡 μ»€μŠ€ν…€ ν›…, μ™ΈλΆ€ API 톡신 및 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직, 헬퍼 ν•¨μˆ˜ [12, 17-20]. - `store/` (λ˜λŠ” `context/`): μ „μ—­ μƒνƒœ 관리 둜직 [16-18]. - **Feature-Sliced Design (FSD)**: κΈ°λŠ₯ 기반 ꡬ쑰λ₯Ό 더 μ—„κ²©ν•œ μ•„ν‚€ν…μ²˜ λ°©λ²•λ‘ μœΌλ‘œ λ°œμ „μ‹œν‚¨ ν˜•νƒœμž…λ‹ˆλ‹€ [21, 22]. μ½”λ“œλ₯Ό `app`, `pages`, `widgets`, `features`, `entities`, `shared`λΌλŠ” λͺ…ν™•ν•œ 계측(Layer)으둜 λ‚˜λˆ•λ‹ˆλ‹€ [23, 24]. μƒμœ„ 계측이 ν•˜μœ„ κ³„μΈ΅μ—λ§Œ μ˜μ‘΄ν•  수 μžˆλ‹€λŠ” 단방ν–₯ μ˜μ‘΄μ„± κ·œμΉ™μ„ κ°•μ œν•˜μ—¬ μˆœν™˜ 참쑰와 μ•„ν‚€ν…μ²˜μ˜ λΆ•κ΄΄λ₯Ό λ§‰μŠ΅λ‹ˆλ‹€ [22, 23]. - **넀이밍 μ»¨λ²€μ…˜κ³Ό κ±°λ²„λ„ŒμŠ€**: 폴더 κ΅¬μ‘°λŠ” μ—„κ²©ν•œ λͺ…λͺ… κ·œμΉ™κ³Ό 결합될 λ•Œ νš¨κ³Όμ μž…λ‹ˆλ‹€. 운영체제 κ°„(Windows/Mac vs Linux) λŒ€μ†Œλ¬Έμž ꡬ뢄 문제둜 μΈν•œ CI/CD λΉŒλ“œ μ‹€νŒ¨λ₯Ό 막기 μœ„ν•΄ 파일과 폴더λͺ…은 주둜 `kebab-case`λ₯Ό μ‚¬μš©ν•˜λ©°, React μ»΄ν¬λ„ŒνŠΈ λͺ…칭은 `PascalCase`λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 ν‘œμ€€μž…λ‹ˆλ‹€ [25-30]. Next.jsμ—μ„œλŠ” `(folderName)` ν˜•νƒœλ₯Ό μ‚¬μš©ν•˜μ—¬ URL κ²½λ‘œμ— 영ν–₯을 μ£Όμ§€ μ•Šκ³  λ…Όλ¦¬μ μœΌλ‘œ 라우트λ₯Ό κ·Έλ£Ήν™”ν•˜λŠ” νŒ¨ν„΄λ„ ν™œμš©λ©λ‹ˆλ‹€ [31, 32]. ## βš–οΈ Trade-offs & Caveats κΈ°λŠ₯ 기반(Feature-based) κ΅¬μ‘°λ‚˜ Feature-Sliced Design(FSD)κ³Ό 같은 κ³ λ„ν™”λœ 폴더 κ΅¬μ‘°λŠ” μ†Œκ·œλͺ¨ ν”„λ‘œμ νŠΈλ‚˜ μ΄ˆλ³΄μžμ—κ²ŒλŠ” κ³Όλ„ν•œ μ˜€λ²„ν—€λ“œ(Overkill)κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€ [33]. λ‹¨μˆœν•œ 앱에 μ μš©ν•  경우 λΆˆν•„μš”ν•œ ν•˜μœ„ 폴더와 μ€‘λ³΅λœ ꡬ쑰λ₯Ό 무수히 μƒμ„±ν•˜κ²Œ λ˜μ–΄ 였히렀 개발 속도λ₯Ό μ €ν•˜μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€ [33]. 특히 FSD ꡬ쑰λ₯Ό λ„μž…ν•  경우, νŠΉμ • λͺ¨λ“ˆμ΄ μ–΄λŠ 계측에 속해야 ν•˜λŠ”μ§€("이 λͺ¨λ“ˆμ΄ feature인가 widget인가?")λ₯Ό κ²°μ •ν•˜λŠ” 데 μžˆμ–΄ 의미둠적 λ…ΌμŸκ³Ό 인지적 μ˜€λ²„ν—€λ“œκ°€ λ°œμƒν•©λ‹ˆλ‹€ [34]. λ˜ν•œ, νŒ€ 전체가 이 방법둠과 계측 κ·œμΉ™μ„ λͺ…ν™•νžˆ μ΄ν•΄ν•˜κ³  λ¬Έμ„œν™”ν•˜μ§€ μ•ŠμœΌλ©΄, κ°œλ°œμžλ“€μ΄ κ·œμΉ™μ„ λ¬΄μ‹œν•˜κ³  λͺ¨λ“  μ½”λ“œλ₯Ό μ΅œν•˜λ‹¨μΈ `shared` 폴더에 μŸμ•„λΆ€μ–΄ 였히렀 버그λ₯Ό μ–‘μ‚°ν•˜κ³  μ½”λ“œ λ³€κ²½ μ‹œμ˜ 영ν–₯ λ²”μœ„(Blast radius)λ₯Ό ν†΅μ œ 뢈λŠ₯으둜 λ§Œλ“€ μœ„ν—˜μ΄ ν½λ‹ˆλ‹€ [34, 35]. μΆ”κ°€λ‘œ, λͺ¨λ“ˆ λ‚΄λΆ€λ₯Ό μΊ‘μŠν™”ν•˜κΈ° μœ„ν•΄ μ§„μž…μ μ„ ν•˜λ‚˜λ‘œ ν†΅μΌν•˜λŠ” 배럴 파일(Barrel files, 예: `index.ts`λ₯Ό ν†΅ν•œ Public API λ…ΈμΆœ) νŒ¨ν„΄μ€ λ‚΄λΆ€ λ¦¬νŒ©ν† λ§μ„ μ•ˆμ „ν•˜κ²Œ λ§Œλ“€μ–΄μ£Όμ§€λ§Œ, λ²ˆλ“€λ§(Bundling)μ΄λ‚˜ 트리 쉐이킹(Tree-shaking) κ³Όμ •μ—μ„œ μ›μΉ˜ μ•ŠλŠ” λͺ¨λ“ˆκΉŒμ§€ λΆˆλŸ¬μ™€ μ„±λŠ₯상 λΆˆμ΄μ΅μ„ μ΄ˆλž˜ν•  수 μžˆλ‹€λŠ” 단점이 μ‘΄μž¬ν•©λ‹ˆλ‹€ [34, 36, 37]. ## πŸ”— Knowledge Connections ### Related Concepts #### [μ•„ν‚€ν…μ²˜/기반 기술] - [[Feature-Sliced Design]] - μ—°κ²° 이유: Folder Structureλ₯Ό λ‹¨μˆœν•œ 디렉터리 뢄리가 μ•„λ‹Œ, 계측(Layer)κ³Ό 슬라이슀(Slice) 기반의 μ—„κ²©ν•œ μ•„ν‚€ν…μ²˜ λ°©λ²•λ‘ μœΌλ‘œ μŠΉκ²©μ‹œν‚¨ κ°œλ…μ΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€ [21-24]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 단방ν–₯ μ˜μ‘΄μ„± 원칙과 λͺ¨λ“ˆ μΊ‘μŠν™”λ₯Ό 톡해 λŒ€κ·œλͺ¨ React 앱이 μ–΄λ–»κ²Œ μŠ€νŒŒκ²Œν‹° μ½”λ“œλ₯Ό λ°©μ§€ν•˜λŠ”μ§€ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [23, 37]. - [[Separation of Concerns]] - μ—°κ²° 이유: Folder Structureλ₯Ό UI λ Œλ”λ§, λΉ„μ¦ˆλ‹ˆμŠ€ 둜직, μƒνƒœ 관리 λ“±μœΌλ‘œ λ‚˜λˆ„λŠ” 핡심 μ†Œν”„νŠΈμ›¨μ–΄ 곡학 μ›λ¦¬μž…λ‹ˆλ‹€ [8, 30]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ™œ `components/`와 `services/`, `store/` 폴더λ₯Ό 뢄리해야 ν•˜λŠ”μ§€ κ·Έ 근본적인 이유λ₯Ό μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€ [30]. - [[Domain-Driven Design]] - μ—°κ²° 이유: ν”„λ‘ νŠΈμ—”λ“œ μ½”λ“œμ˜ 폴더λ₯Ό 기술적 μœ ν˜•μ΄ μ•„λ‹Œ λΉ„μ¦ˆλ‹ˆμŠ€ 도메인(κΈ°λŠ₯) μ€‘μ‹¬μœΌλ‘œ λ‚˜λˆ„λŠ” 데 논리적 κΈ°λ°˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€ [12, 38]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: `features/` 폴더 내에 μ½”λ“œλ₯Ό μ‘μ§‘μ‹œν‚€λŠ” 것이 λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­ 변화에 μ–΄λ–»κ²Œ μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•˜κ²Œ ν•˜λŠ”μ§€ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [38]. #### [κ΅¬ν˜„/ν™œμš© 도ꡬ] - [[Naming Conventions]] - μ—°κ²° 이유: μΌκ΄€λœ λͺ…λͺ… κ·œμΉ™μ€ 폴더 ꡬ쑰의 가독성과 예츑 κ°€λŠ₯성을 μ™„μ„±ν•˜λŠ” ν•„μˆ˜ μš”μ†Œμž…λ‹ˆλ‹€ [25, 26, 30, 39]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ™œ 폴더λͺ…은 `kebab-case`λ₯Ό μ“°κ³  μ»΄ν¬λ„ŒνŠΈλŠ” `PascalCase`λ₯Ό 써야 CI/CD νŒŒμ΄ν”„λΌμΈμ—μ„œ 였λ₯˜κ°€ λ‚˜μ§€ μ•ŠλŠ”μ§€ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [25, 40]. - [[State Management]] - μ—°κ²° 이유: 폴더 κ΅¬μ‘°μ—μ„œ μ „μ—­ μƒνƒœ(`store/`, `context/`)와 μ§€μ—­/κΈ°λŠ₯ μƒνƒœ(`features/`)λ₯Ό 어디에 μœ„μΉ˜μ‹œν‚¬μ§€ κ²°μ •ν•˜λŠ” 핡심 μš”μ†Œμž…λ‹ˆλ‹€ [16, 18, 19, 41, 42]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: Zustand, Context API λ“± 관리 도ꡬ에 따라 μ „μ—­ 인프라 μƒνƒœμ™€ 도메인 μƒνƒœλ₯Ό 뢄리 λ°°μΉ˜ν•˜λŠ” μ „λž΅μ„ ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [43]. ### Deeper Research Questions - Feature-Sliced Design(FSD)μ—μ„œ ν•˜μœ„ 계측이 μƒμœ„ 계측을 μ°Έμ‘°ν•˜μ§€ λͺ»ν•˜λ„둝 ESLint κ·œμΉ™μ„ 톡해 μ–΄λ–»κ²Œ 단방ν–₯ μ˜μ‘΄μ„±μ„ κ°•μ œν•  수 μžˆλŠ”κ°€? - 배럴 파일(`index.ts`)을 μ΄μš©ν•œ Public API νŒ¨ν„΄μ΄ Webpackμ΄λ‚˜ Vite의 트리 쉐이킹(Tree-shaking) μ΅œμ ν™”μ— λ―ΈμΉ˜λŠ” μ •ν™•ν•œ λΆ€μž‘μš©κ³Ό κ·Έ 해결책은 무엇인가? - '인증(Auth)'κ³Ό 같이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ „λ°˜μ— 걸쳐 μ‚¬μš©λ˜λŠ” ꡐ차 μ ˆλ‹¨ 관심사(Cross-cutting concerns)λŠ” κΈ°λŠ₯ 기반(Feature-based) 폴더 κ΅¬μ‘°μ—μ„œ μ–΄λ–»κ²Œ λΆ„λ¦¬ν•˜κ³  λ°°μΉ˜ν•΄μ•Ό μ½”λ“œ 응집도λ₯Ό μžƒμ§€ μ•ŠλŠ”κ°€? - μ†Œκ·œλͺ¨ ν”„λ‘œμ νŠΈ(Flat structure)μ—μ„œ λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈ(Feature-Sliced Design)둜 폴더 ꡬ쑰λ₯Ό λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•΄μ•Ό ν•˜λŠ” ꡬ체적인 μž„κ³„μ (μ»΄ν¬λ„ŒνŠΈ 수, νŒ€ 규λͺ¨ λ“±)μ΄λ‚˜ μ½”λ“œ 슀멜 μ§€ν‘œλŠ” 무엇인가? - Next.js의 App Routerμ—μ„œ μ œκ³΅ν•˜λŠ” Route Grouping `(folder)` 문법과 기쑴의 κΈ°λŠ₯ 기반 폴더 뢄리(`features/`) νŒ¨ν„΄μ„ μ–΄λ–»κ²Œ 좩돌 없이 μ‘°ν™”λ‘­κ²Œ 섀계할 수 μžˆλŠ”κ°€? ### Practical Application Contexts - **Implementation:** 운영체제(Windows vs Linux)에 λ”°λ₯Έ λŒ€μ†Œλ¬Έμž ꡬ뢄 이슈λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ 폴더와 파일λͺ… 생성 μ‹œ μΌκ΄€λœ `kebab-case`λ₯Ό μ μš©ν•˜λŠ” κ·œμΉ™μ„ ν”„λ‘œμ νŠΈ λ¦°νŒ… 룰에 μ„€μ •ν•©λ‹ˆλ‹€ [25-27]. - **System Design:** ν”„λ‘œμ νŠΈ 섀계 초기 λ‹¨κ³„μ—μ„œ `features/` 폴더λ₯Ό μ •μ˜ν•˜μ—¬ UI μš”μ†Œμ™€ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직의 경계λ₯Ό λͺ…ν™•νžˆ ν•˜κ³ , 곡톡 μ»΄ν¬λ„ŒνŠΈλŠ” 였직 Presentation μ—­ν• λ§Œ μˆ˜ν–‰ν•˜λ„λ‘ μ‹œμŠ€ν…œμ„ κ΅¬μ‘°ν™”ν•©λ‹ˆλ‹€ [11, 44]. - **Operation / Maintenance:** μƒˆλ‘œμš΄ κ°œλ°œμžκ°€ νŒ€μ— ν•©λ₯˜ν–ˆμ„ λ•Œ, κΈ°λŠ₯λ³„λ‘œ 고립된 폴더 ꡬ쑰λ₯Ό 톡해 전체 μ½”λ“œλ₯Ό νŒŒμ•…ν•˜μ§€ μ•Šκ³ λ„ μžμ‹ μ΄ 맑은 도메인(`features/auth` λ“±)만 λΆ„μ„ν•˜μ—¬ μ¦‰μ‹œ μœ μ§€λ³΄μˆ˜ 업무에 νˆ¬μž…λ  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€ [6]. - **Learning Path:** 처음 Reactλ₯Ό ν•™μŠ΅ν•  λ•ŒλŠ” Flat ꡬ쑰둜 μ‹œμž‘ν•˜μ—¬ κΈ°λ³ΈκΈ°λ₯Ό 읡히고, ν”„λ‘œμ νŠΈκ°€ 컀짐에 따라 File-Type Based ꡬ쑰λ₯Ό 거쳐 μ΅œμ’…μ μœΌλ‘œ Feature-Based λ˜λŠ” FSD μ•„ν‚€ν…μ²˜λ‘œ μ§„ν™”ν•˜λŠ” 순차적 ν•™μŠ΅μ΄ ꢌμž₯λ©λ‹ˆλ‹€ [4, 9, 10, 33]. - **My Project Relevance:** ν˜„μž¬ μ§„ν–‰ 쀑인 λ˜λŠ” κ³„νšλœ React ν”„λ‘œμ νŠΈμ˜ 규λͺ¨μ™€ νŒ€μ›μ˜ μˆ™λ ¨λ„λ₯Ό ν‰κ°€ν•˜μ—¬, μ§€λ‚˜μΉ˜κ²Œ λ³΅μž‘ν•œ FSDλ₯Ό λ°”λ‘œ λ„μž…ν•˜κΈ°λ³΄λ‹€λŠ” `features/`와 `components/`λ₯Ό κ²°ν•©ν•œ ν•˜μ΄λΈŒλ¦¬λ“œ 방식을 μ μš©ν•΄ 점진적인 λͺ¨λ“ˆν™”λ₯Ό μ‹œλ„ν•˜λŠ” μ§€ν‘œλ‘œ 삼을 수 μžˆμŠ΅λ‹ˆλ‹€. ### Adjacent Topics - [[Code Splitting]] - ν™•μž₯ λ°©ν–₯: 폴더 ꡬ쑰λ₯Ό λΌμš°νŠΈλ‚˜ κΈ°λŠ₯ λ‹¨μœ„λ‘œ λͺ…ν™•νžˆ λ‚˜λˆ„λ©΄, Viteλ‚˜ Webpack을 μ΄μš©ν•΄ ν•΄λ‹Ή λͺ¨λ“ˆλ“€μ„ 독립적인 청크(Chunk)둜 λ‚˜λˆ„μ–΄ μ§€μ—° λ‘œλ”©(Lazy Loading)ν•˜λŠ” μ΅œμ ν™” μ „λž΅μœΌλ‘œ μžμ—°μŠ€λŸ½κ²Œ ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [45, 46]. - [[Micro-Frontends]] - ν™•μž₯ λ°©ν–₯: λͺ¨λ†€λ¦¬μ‹ 단일 폴더 ꡬ쑰가 감당할 수 없을 만큼 κ±°λŒ€ν•΄μ§„ μ—”ν„°ν”„λΌμ΄μ¦ˆ ν™˜κ²½μ—μ„œ, μ•„μ˜ˆ λ…λ¦½μ μœΌλ‘œ 배포 및 운영 κ°€λŠ₯ν•œ ν”„λ‘ νŠΈμ—”λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ λΆ„ν• ν•˜λŠ” 극단적 μ•„ν‚€ν…μ²˜ λ°©λ²•λ‘ μœΌλ‘œ ν™•μž₯λ©λ‹ˆλ‹€ [21]. --- *Last updated: 2026-04-30*