# Create Expo App (self note)

This is a self note for installing React Native Expo app with app router for my projects using pnpm.

### Project Installation:

* **pnpm dlx create-expo-app@latest Fitness --template** (or)  
    npx create-expo-app@latest Fitness --template
    
* **Choose a template: › Blank (TypeScript)**
    
* **pnpm start** to start the project.
    

### App router:

Reference: [https://docs.expo.dev/router/installation/](https://docs.expo.dev/router/installation/)

* create **src &gt; app** folder structure for the router.
    
* Add **“paths”** to **tsconfig.json,** useful while importing.
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1740135139792/f08b61d8-97f1-4e22-bde1-71ae20f6b299.png align="center")

1. **Install dependencies**
    

```bash
pnpm dlx expo install expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants expo-status-bar
```

2. **Setup entry point in package.json**
    

```bash
{
  "main": "expo-router/entry",
}
```

3. **Modify project config in app.json;** include “**scheme”** for deep-linking.
    

```bash
{
  "scheme": "your-app-scheme"
}
```

**If you are developing your app for web, install the following dependencies:**

```bash
pnpm dlx expo install react-native-web react-dom
```

**Then include “bundler” in app.json for “web”**

```bash
{
  "web": {
    "bundler": "metro"
  }
}
```

**Now Start the app**

```bash
pnpm start -- --clear
```

**Create an index.tsx file inside app folder and you are ready to roll! 🎉**
