弹出的 expo react 本机应用程序需要 expo?

Ejected expo react native app requires expo?

我用create-react-native-app创建了一个RN,现在决定退出。它最初没有工作,需要安装一些包(@babel/...),但现在,它抱怨 Module 'expo' does not exist in the Haste module map.

既然已经被弹出,为什么还需要expo?还是我误解了弹射的作用?

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 本机应用程序需要 expo?简短的回答是否定的。

使用 expo 应用程序时,您可以使用 expo 服务器构建您的应用程序,因此您不必全部安装 Android StudioXCode你必须做的是 $ expo build:[android|ios] 并在构建过程完成后下载你构建的包你也可以 运行 你的应用程序使用 Android 和 Ios 上的 expo 客户端应用程序但是一旦弹出你将失去使用 expo server 作为构建环境的能力,你必须使用 Android StudioXCode,但这里的主要区别是当你选择 expo-kit 时你仍然有能力将 expo 客户端用于 运行 您的应用程序,您仍然可以在代码中使用 expo 模块,但是当您选择 react-native 时,您不能使用 expo 客户端,而必须使用本机工具,无论如何,一旦您弹出项目,您就必须自己构建它,并且您无法撤消此步骤。

旁注

您可以仅使用 JavaScript 构建非常强大的应用程序而无需弹出,尤其是在使用 `expo SDK 31+ 时,我正在开发具有检测位置、实时地图、社交等功能的应用程序登录和聊天,我根本不需要弹出它。

请看一下here and here

更新:

您必须记住的最后一件事是,在使用 expoexpo-kit 时,您可以在任何 OS 上继续开发 ios 应用程序,但在使用 react-native 你不能这样做你 必须 有一个 mac.