47 lines
3.0 KiB
Markdown
47 lines
3.0 KiB
Markdown
---
|
|
id: P-REINFORCE-WIKI-WEB-FILE-ROUTING
|
|
title: "파일 기반 라우팅 (File-based Routing)"
|
|
category: Unified
|
|
status: verified
|
|
canonical_id: ""
|
|
aliases: ["File-based Routing", "폴더 기반 라우팅", "컨벤션 기반 라우팅"]
|
|
duplicate_of: ""
|
|
source_trust_level: A
|
|
confidence_score: 1.0
|
|
tags: ["Web_Development", "Routing", "NextJS", "Expo_Router", "DX"]
|
|
raw_sources: ["Datacollector_Export_2026-05-02"]
|
|
last_reinforced: 2026-05-02
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[파일 기반 라우팅 (File-based Routing)]]
|
|
|
|
## 1. 개요
|
|
File-based Routing(파일 기반 라우팅)은 프로젝트의 디렉토리 및 파일 구조가 애플리케이션의 라우팅(내비게이션) 구조와 일대일로 매핑되는 설계 패러다임이다. 명시적인 라우트 설정 코드를 작성하는 대신, 특정 폴더에 파일을 생성하는 것만으로 자동으로 경로가 생성되어 개발 생산성을 비약적으로 향상시킨다.
|
|
|
|
## 2. 핵심 특징
|
|
- **구조와 경로의 일치**: "폴더 구조 = URL 경로"의 직관성을 제공하여 시스템 구조의 투명성 확보.
|
|
- **자동 중첩 라우팅 (Nested Routes)**: 디렉토리의 계층 구조를 기반으로 중첩된 레이아웃과 내비게이션을 자동으로 처리.
|
|
- **딥 링크 (Deep Linking) 자동화**: 별도의 매핑 작업 없이 모든 화면이 자동으로 고유한 URL(링크 가능)을 가짐.
|
|
- **유니버설 앱 호환성**: Next.js(웹)와 Expo Router(모바일) 등에서 동일한 컨벤션을 사용하여 코드 공유 및 플랫폼 간 이동 용이.
|
|
|
|
## 3. 실전 적용 가치
|
|
- **개발자 경험(DX) 개선**: 복잡한 라우팅 보일러플레이트 코드를 제거하고 기능 구현에 집중 가능.
|
|
- **온보딩 용이성**: 파일 시스템 자체가 시스템의 내비게이션 지도가 되어 신규 팀원의 프로젝트 파악 속도 가속.
|
|
- **타입 안정성**: 파일 구조를 바탕으로 라우트 경로에 대한 타입 추론을 자동으로 지원하여 런타임 오류 방지.
|
|
|
|
## 4. 트레이드오프
|
|
- **장점**: 생산성 향상, 설정 간소화, 딥 링크 관리 용이성.
|
|
- **단점**: 물리적 파일 구조에 라우팅이 종속되어 복잡한 동적 라우팅 규칙(상태 기반 조건부 라우팅 등) 구현 시 유연성 부족.
|
|
- **제약 사항**: 프레임워크가 강제하는 특정 폴더 컨벤션(예: `app` 폴더)을 준수해야 함.
|
|
|
|
## 5. 지식 연결 (Related)
|
|
- [[Router_Implementation]]: 라우팅의 일반적인 구현 원리 및 다른 패러다임(Configuration-based).
|
|
- [[NextJS_Framework]]: 파일 기반 라우팅을 대중화시킨 대표적 프론트엔드 프레임워크.
|
|
- [[Universal_Apps]]: 단일 라우팅 컨벤션으로 웹과 모바일을 통합하는 아키텍처.
|
|
|
|
## 🧪 검증 상태 (Validation)
|
|
- **정보 상태**: 검증 완료 (Verified)
|
|
- **출처 신뢰도**: A
|
|
- **검토 이유**: 현대적 프론트엔드 프레임워크의 표준 라우팅 패러다임으로서의 가치와 제약 사항 정립.
|