🏠

【Expo】App.js(エントリポイント)をsrcディレクトリ下に移す

2022/06/14に公開

はじめに

Expoのデフォルトのファイル構成ではプロジェクトの直下に置かれているApp.js等のファイルをsrcディレクトリ内に入れ、src/App.jsが読み込まれるようにする方法です。

ツリーで表すと…

.
├── app.json
├── assets
│   └── ~~~
├── babel.config.js
├── package-lock.json
├── package.json
├── App.js
└── ~~~

となっているのを、

.
├── app.json
├── assets
│   └── ~~~
├── babel.config.js
├── package-lock.json
├── package.json
└── src
    ├── App.js
    ├── main.js
    └── ~~~

このようにします。

https://qiita.com/KamataRyo/items/4e8a4c31bd3e20f00cbe

この記事を参考にさせていただいたのですが、こちらに載っていたmain.jsでは動かず、手元のnode_modules/expo/appEntry.jsを確認したところ中身が変わっていました。

後述するmain.jsはexpo v44現在のものになります。

手順

1. srcディレクトリを作成して、移したいものを全部移す

もしサーバーを起動中であれば、止めておきましょう。

まずはApp.js等をsrcディレクトリに移します。

2. srcディレクトリにmain.jsを作成

main.js
import registerRootComponent from 'expo/build/launch/registerRootComponent';
import App from './App';

registerRootComponent(App);

3. エントリポイントをsrc/main.jsに設定

package.json"main": "src/main.js"と書き足します。

{
  "name": "schooltimer-expo",
  "version": "1.0.0",
  "main": "src/main.js",
  ~~~省略~~~
}

おわりに

これでApp.jsの内容に手を加えることなくsrcディレクトリに移すことができました。

何か間違っている点があればご指摘お願いします🙇‍♂️

GitHubで編集を提案

Discussion