Closed5
React Native (Expo)でエントリーポイントを変更する

yarn create expo-app -t expo-template-blank-typescript
で生成したプロジェクト
ルートディレクトリにApp.tsxがあるので、それをsrc/
に入れたい

mv App.tsx src/
するだけでは動かなかった
エントリーポイントの設定がどこかにあるはず

package.json の設定で発見
package.json
"main": "node_modules/expo/AppEntry.js",
トランスパイルされた後のJavaScriptファイルを呼んでいるらしい
node_modules/expo/AppEntry.js
import registerRootComponent from 'expo/build/launch/registerRootComponent';
import App from '../../App';
registerRootComponent(App);

どういう流れでトランスパイルと呼び出しが行われているのかわからないから動くかは定かではないが、registerRootComponent
をApp.tsx側で呼んで package.jsonにApp.tsxを直接指定できるならば、エントリーポイントをこちら側で制御できそう
それはそれとして、package.jsonのmainにnode_modules配下のファイルがあるの嫌じゃないのかな?

やってみる
App.tsx
import registerRootComponent from 'expo/build/launch/registerRootComponent';
// ...
registerRootComponent(App);
package.json
"main": "App.tsx",
これで動いた
ということで無事src配下にまとめられそう
このスクラップは2024/03/29にクローズされました
ログインするとコメントできます