J'utilise React Native en tant que pod dans mon projet iOS . Lorsque j'essaie de charger une vue que j'ai créée avec React Native, l'écran d'erreur me renvoie vers la fenêtre Terminal où s'exécute npm.
Dans le terminal, l'erreur que je vois est la suivante: Erreur: impossible de trouver le fichier d'entrée dans l'une des racines:
J'ai essayé plusieurs choses, en déplaçant le fichier vers un emplacement différent, mais sans succès . J'ai exécuté "npm start" et je cherche le fichier dans " http: // localhost: 8081/ " . L'emplacement actuel du fichier se trouve au même emplacement que celui où j'ai exécuté "npm start".
Je suis complètement coincé ici… .. Ai-je configuré quelque chose de mal? Comment puis-je dépanner à partir d'ici?
Désolé de répondre à ma propre question (un peu boiteux), mais j'espère que cela aidera quelqu'un d'autre.
Apparemment, nous devons exécuter la commande npm en donnant un chemin alternatif.
npm run start -- --root <directory_with_your_react_component_js_sources>
Sur http://facebook.github.io/react-native/docs/embedded-app.html#content est un guide sur la manière d'intégrer React Native dans une application existante.
Vérifiez que le serveur de noeud s'exécute dans l'un des terminaux bash; cela a probablement été lancé par le précédent projet ReactNative XCode que vous avez lancé précédemment. Arrêtez ce processus et exécutez à nouveau le projet XCode, cela devrait résoudre le problème.
Il y a ce problème:
https://github.com/facebook/react-native/issues/541
Ce qui semble la même chose. L'utilisateur là-bas semblait avoir indiqué qu'il avait déjà exécuté le projet à partir de ce répertoire, ce qui m'amène à me demander si cela est dû à un bloqueur suspendu ou à un excédant du conditionneur précédent. Essayez de fermer la fenêtre du terminal et de réexécuter le projet Xcode.
En général, cela ressemble à un problème avec le conditionneur ne générant pas les fichiers comme prévu. Y a-t-il d'autres messages dans la fenêtre du terminal?
Je voulais mettre à jour cela après avoir été un peu frustré, mais ma configuration ne fonctionnait toujours pas après la suppression de tous les processus de noeud et l'exécution de la commande ci-dessus.
Il semble y avoir actuellement un numéro ouvert de ReactNative: https://github.com/facebook/react-native/issues/14246
La solution à cela est de tuer le gestionnaire de paquets lancé de manière externe et d’exécuter simplement "npm start" dans le dossier du projet.
Vérifiez si vous avez index.ios
ou index
dans votre AppDelegate.m :
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
J'avais index
et j'utilisais auparavant index.ios
et index.Android
, c'est pourquoi il échouait.
D'après mon expérience, c'est à cause de Watchman et Jest.
La solution que j'ai trouvée est Add
name = name.replace('/', '\\');
vers 'modules_noeud\jest-haste-map\build\robots\watchman.js'
Vous pouvez consulter d'autres informations ici Watchman ne fonctionne pas avec React Native