我创建了一个带有创建反应的app的RN,我现在决定弹出。它最初不起作用,需要安装一些软件包(@babel/...),但是现在,它抱怨Module 'expo' does not exist in the Haste module map
。
既然已经弹出,为什么它仍然需要博览会?还是我误解了什么弹射?
n.b。在弹射期间,我选择了驱逐到RN应用程序的选项,而不是Expokit。这是在iOS上,目前。
弹出expo
应用程序时,您会被问到您会使用expo-kit
或仅使用react-native
,并且由您选择,再加上Module 'expo' does not exist in the Haste module map
,则表示您仍在代码中使用expo
,因此请将代码仔细检查至确保您不会在任何地方导入expo
,然后重试。
tl; dr
弹出的Expo React Antive App需要Expo?简短的答案是否。
使用expo
应用程序时,您可以使用expo
服务器构建应用程序,因此您不必安装Android Studio
或XCode
安装了所有您要做的就是$ expo build:[android|ios]
并在构建过程完成后下载您的构建软件包您可以在Android和iOS上使用Expo Client应用程序运行您的应用程序,但是一旦弹出,您将失去使用Expo服务器作为构建环境的能力,而必须使用Android Studio
或XCode
,但是这里的主要区别是当您选择expo-kit
时,仍然有能力使用Expo Client运行您的应用程序,并且您仍然能够在代码中使用Expo模块,但是当您选择react-native
时,您不能使用Expo Client,而是必须使用本机工具,无论如何在所有情况下,弹出项目后,您必须自己构建它,而您将无法撤消此步骤。
sidenote
您可以仅使用JavaScript构建非常强大的应用程序而无需弹出,尤其是在使用`expo sdk 31 时,我现在正在使用一个应用程序,该应用程序现在具有检测位置,实时地图,社交登录和聊天等功能
完全需要弹出。请在这里和这里看看
更新:
您要记住的最后一件事是,使用expo
或expo-kit
时,您可以继续在任何操作系统上开发ios
应用程序,但是当使用react-native
时,您无法执行此操作。/p>