Next js와 비슷한 Expo Router
Expo Router를 사용하는 파일 기반 라우팅 시스템은 Next.js와 비슷한 방식으로 작동합니다. 전체적인 구조를 설명해드리겠습니다:
app/
├── _layout.tsx # 모든 라우트에 적용되는 공통 레이아웃
├── index.tsx # 메인 홈 화면 (/)
├── calculator/
│ ├── _layout.tsx # 계산기 관련 화면들의 공통 레이아웃
│ ├── index.tsx # 계산기 메인 화면 (/calculator)
│ └── history.tsx # 계산 히스토리 화면 (/calculator/history)
├── settings/
│ └── index.tsx # 설정 화면 (/settings)
└── modal/
└── index.tsx # 모달 화면
MyApp/
├── App.tsx # 앱의 메인 진입점
├── app.json # Expo 설정 파일
├── babel.config.js # Babel 설정
├── package.json # 프로젝트 의존성
├── tsconfig.json # TypeScript 설정
├── assets/ # 이미지, 폰트 등 정적 파일
│ ├── icon.png
│ └── splash.png
├── src/
│ ├── components/ # 재사용 가능한 컴포넌트
│ │ ├── AdBanner.tsx # 배너 광고 컴포넌트
│ │ └── InterstitialAd.tsx # 전면 광고 컴포넌트
│ ├── screens/ # 화면 컴포넌트
│ │ ├── HomeScreen.tsx # 홈 화면
│ │ ├── DividendCalculatorScreen.tsx # 배당계산기 화면
│ │ └── ETFListScreen.tsx # ETF 목록 화면
│ ├── constants/ # 상수 정의
│ │ └── adUnitIds.ts # 광고 ID 관리
│ └── utils/ # 유틸리티 함수
│ └── adHelpers.ts # 광고 관련 헬퍼 함수
└── android/ # Android 네이티브 코드
└── app/
└── src/
└── main/
└── AndroidManifest.xml # 광고 ID 설정
이런 앱을 expo router로 바꾸면
MyApp/
├── app.json
├── babel.config.js
├── package.json
├── tsconfig.json
├── assets/
│ ├── icon.png
│ └── splash.png
├── app/
│ ├── _layout.tsx # 루트 레이아웃
│ ├── index.tsx # 홈 스크린 (/)
│ ├── dividend/
│ │ ├── _layout.tsx # 배당 관련 레이아웃
│ │ └── index.tsx # 배당계산기 화면 (/dividend)
│ └── etf/
│ ├── _layout.tsx # ETF 관련 레이아웃
│ └── index.tsx # ETF 목록 화면 (/etf)
├── src/
│ ├── components/
│ │ ├── ads/
│ │ │ ├── AdBanner.tsx
│ │ │ └── InterstitialAd.tsx
│ │ └── common/
│ │ └── Header.tsx
│ ├── constants/
│ │ └── adUnitIds.ts
│ └── utils/
│ └── adHelpers.ts
└── android/
└── app/
└── src/
└── main/
└── AndroidManifest.xml
이런식으로 된다
'nextjs,tailwindcss,vercel' 카테고리의 다른 글
안드로이드 앱 개발 - expo assets 사진들 설명 (0) | 2024.11.08 |
---|---|
github에서 레파지토리의 특정 커밋버전으로 롤백하는법 (0) | 2024.11.05 |
SEO canonical URLs and redirects 의미와 이유 (0) | 2024.11.04 |
it looks like you may be using a lan url expo 오류 해결 (2) | 2024.10.31 |
Expo를 사용하여 안드로이드 앱을 빌드하기 (0) | 2024.10.29 |