Se han hecho preguntas similares antes en SO (como Convert Expo project to Original React Native project , Commands to use after converting from expo to react-native-cli , and Expo to react native init ) pero ninguno de ellos explica cómo eliminar completamente todos los módulos Expo y las dependencias de mi proyecto, de modo que termino con una aplicación React Native pura (lo mismo que si hubiera ejecutado react-native init... en primer lugar).
Entonces, ¿es posible eliminar toda esta basura adicional que nunca pedí o esperé que se instalara, con un simple comando ? MTIA! :-)
Básicamente me metí en este lío al expulsar de un proyecto Expo administrado, luego personalicé mucho la carpeta de android antes de darme cuenta de que mis tiempos de compilación/instalación eran ridículamente lentos.
Entonces, para solucionar esto, ejecuté yarn global add depcheck y depcheck , lo que sugirió que podría/debería eliminar todos los siguientes paquetes (los aparentemente más importantes están marcados con un asterisco):
expo-updates* filtrex firebase-admin lodash mathjs moment native-base nodemailer react-native-android-location-enabler react-native-credit-card-input react-native-document-picker react-native-fast-image react-native-geolocation-service react-native-image-crop-picker react-native-js-bottom-sheet react-native-reanimated react-native-signature-capture react-native-unimodules* react-native-web react-timer-mixin recyclerlistview shortid stripe-client styled-system @babel/core @react-native-community/eslint-config babel-jest jest prettier react-test-renderer Así que ejecuté a ciegas yarn remove ... en todos esos paquetes, y ahora obtengo un montón de errores al intentar compilar. No los enumeraré aquí ya que es obvio que en su mayoría (si no del todo ) están relacionados con los paquetes expo-updates y react-native-unimodules marcados anteriormente.
No estoy usando explícitamente nada relacionado con Expo en mi código, por lo que esto debería ser pan comido en mi opinión, ¡pero está demostrando ser bastante difícil!
Entonces, ¿cómo puedo eliminar este cruft adicional correctamente ? ¿Necesito comenzar de nuevo con react-native init ? MTIA :-)
Los proyectos expo expulsados necesitan unimodules para funcionar correctamente, por lo que no creo que haya un comando simple que haga todo lo que pidió. Puedes seguir algunos pasos para que funcione.
Finalmente logré esto casi 6 horas después:
react-native init MyAppName ).El último paso fue absolutamente crucial; Me tomó alrededor de 2 horas rascarme la cabeza y gritarle a la PC antes de que finalmente me topara con esto: el problema de la pantalla blanca en blanco de React Native . ¡Muchas gracias a @DiwakarPrasad por esta absoluta joya de conocimiento!