Expo Router는 Expo로 구축된 Universal React Native 애플리케이션을 위한 오픈 소스 라우팅 라이브러리입니다. Expo Router 버전이 프로젝트에서 사용 중인 Expo SDK 버전과 호환되는지 확인하세요. 현재 Expo Router version 3 은 Expo SDK 50 으로 사용 할 수 있습니다.
Expo Router는 React Native 및 웹 애플리케이션을 위한 파일 기반 라우터입니다. 이를 통해 앱 화면 간 이동을 관리할 수 있으므로 사용자는 여러 플랫폼(Android, iOS 및 웹)에서 동일한 구성 요소를 사용하여 앱 UI의 여러 부분 간에 원활하게 이동할 수 있습니다. NEXT.js 의 파일 시스템과 비슷합니다.
시작하기
create-expo-app 을 사용하여 새로운 Expo 앱을 만드는 것이 좋습니다. 그러면 Expo Router 라이브러리가 설치된 프로젝트가 생성됩니다. 프로젝트를 만들려면 다음 명령어를 실행하세요.
npx create-expo-app@latest --template tabs@50
기본 폴더 구조
기본 디렉토리 구조
특징
기본 : 기존의 REACT NAVIGATION을 기반으로 구축되어 있어거, 기존 방식도 병용 할 수 있습니다.
공유 가능: 앱의 모든 화면이 자동으로 딥링크 가능합니다. 링크를 통해 앱의 모든 경로를 공유 가능하게 만듭니다.
오프라인 우선: 새 버전을 게시하면 자동 업데이트를 통해 앱이 캐시되고 오프라인 우선으로 실행됩니다. 네트워크 연결이나 서버 없이 들어오는 모든 기본 URL을 처리합니다.
최적화: 프로덕션에서는 지연 평가를, 개발에서는 지연 번들링을 통해 경로가 자동으로 최적화됩니다.
반복: Android, iOS, 웹 전반에 걸친 Universal Fast Refresh와 번들러의 아티팩트 메모 기능을 통해 대규모로 빠르게 작업할 수 있습니다.
범용: Android, iOS 및 웹은 경로 수준에서 플랫폼별 API에 대한 드롭다운 기능을 통해 통합 탐색 구조를 공유합니다.
Discoverable: Expo Router는 웹에서 빌드 타임 정적 렌더링과 네이티브에 대한 범용 링크를 가능하게 합니다. 이는 검색 엔진에서 앱 콘텐츠를 색인화할 수 있음을 의미합니다.