34 votes

ReactNative Eject expliqué

J'ai littéralement commencé à lire sur ReactNative il y a une heure et je suis en train de lire ce git readme. https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/README.md

Ensuite, j'ai fait une recherche sur Google et j'ai trouvé ce lien qui semble l'expliquer, mais pas pour moi qui suis novice en web, react ou react-native. https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md

Quelqu'un peut-il m'expliquer, comme si j'avais 2 ans, la signification d'éjecter ? Je continue d'entendre le terme "projet éjecté" mais je n'arrive pas à le comprendre.

57voto

alexdriedger Points 1229

Résumé

Si vous avez créé une application en utilisant create-react-native-app MyApp En éjectant votre application, vous obtenez la même chose que si vous aviez créé votre projet en utilisant la méthode suivante react-native init MyApp

alias

create-react-native-app MyApp > modifier l'application > éjecter l'application

est à peu près équivalent à

react-native init MyApp > apporter des modifications à l'application

Plus de détails

Quelle est la différence entre create-react-native-app MyApp y react-native init MyApp ?

Démarrage rapide ou développement à grande échelle

La philosophie derrière create-react-native-app est :

  • Minimal "Time to Hello World" : Create React Native App devrait réduire le temps de configuration nécessaire pour essayer de créer une application mobile au strict minimum, idéalement à égalité avec le développement web React (notamment comme on le voit avec Create React App).
  • Développer sur votre appareil : Il devrait être facile de développer sur un appareil physique lorsque vous voulez tester la façon dont votre application se sent et répond aux entrées.
  • Outil de construction unique : Si vous voulez simplement commencer à utiliser React Native, vous ne devriez pas avoir besoin d'installer Xcode, Android Studio, les NDK, ou de vous embrouiller avec les variables d'environnement.
  • Pas de verrouillage : Vous pouvez toujours vous "éjecter" vers votre propre configuration de construction si vous devez écrire du code natif personnalisé ou modifier la façon dont votre application est construite.

Essentiellement, create-react-native-app vous permet d'être rapidement opérationnel. sans avoir à faire beaucoup de configuration (ou n'en faire aucune). . Pour ce faire, il vous cache de nombreux détails.

Si vous voulez créer une application sérieuse, vous devez mettre en place un véritable environnement de développement. Vous pouvez le faire à partir de zéro en exécutant react-native init <project-name> . Si vous avez commencé avec un projet react native en utilisant create-react-native-app, vous pouvez arriver au même endroit en "éjectant" votre application.

Vous trouverez plus de détails sur le démarrage avec React Native dans la documentation officielle. aquí .

0 votes

Quand j'éjecte mon application react-native dans react-native (pas dans Expo kit), elle montre qu'elle a été éjectée avec succès et ensuite elle montre une erreur 'Failed at <Projectnane> 3.1 eject script'.

4voto

brk Points 26

Si j'ai bien compris, lorsque vous exécutez la commande "create-react-native-app" (ou "expo init" maintenant), vous ajoutez essentiellement la bibliothèque Expo à React Native.

Je pense que la principale raison d'utiliser l'Expo est de rendre votre application opérationnelle rapidement. Je pense que la principale raison d'éjecter est qu'éventuellement vous pourriez avoir besoin de faire une personnalisation plus compliquée avec du code natif et avoir besoin de plus de contrôle, etc. Voici une meilleure explication d'Expo vs React Native CLI pour démarrer votre application :

https://levelup.gitconnected.com/expo-vs-react-native-cli-a-guide-to-bootstrapping-new-react-native-apps-6f0fcafee58f

Lorsque vous éjectez, vous revenez au même état que si vous n'aviez pas utilisé Expo pour configurer votre application (les projets natifs ios/Android seront générés, etc.).

Voici quelques autres liens qui m'ont aidé à comprendre : http://www.reactnativeexpress.com/environment

https://docs.expo.io/versions/latest/expokit/eject/

1 votes

En plus de cela, expo résout un énorme problème : construire et exécuter l'application sur les deux plateformes Android et ios.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X