ReactNative - 为什么React Native App需要连接到本地主机?

时间:2017-06-26 04:48:04

标签: ios xcode react-native react-native-ios packager

我一直在阅读一本关于React Native的书,它在前几章中为IOS构建了一个简单的React Native App。在Xcode中编译和运行项目时,打包器在后台运行,我也可以看到我的应用程序尝试连接到本地主机。

我的理解是React Native将JSX元素转换为特定于平台的视图。所以我的问题是为什么应用程序需要连接到服务器以及后台运行的打包程序的目的是什么?

此外,如何在Xcode模拟器上运行应用程序,而不是在应用程序商店上部署它?

我试图在网上寻找答案,但没有人解决过这些问题。似乎每个人都认为这一切都是显而易见的。

2 个答案:

答案 0 :(得分:1)

在寻找答案之后,我偶然发现了来自Facebook的following guide,它回答了另一个问题但也间接地解决了我的问题。

显然,localhost是一个开发服务器,用于将您的javascript代码链接到应用程序,如果您在物理设备或模拟器上进行测试,则使用该服务器。所以在阅读之后想到的问题是为什么不将javascript代码与编译的IOS文件捆绑在一起?好吧,最好将它们分开,因为它使您只需从计算机中更改您的javascript代码,并让它自动与您的IOS应用程序同步。

现在,在部署到应用程序商店时,您需要捆绑javascript代码并删除连接到localhost的实现部分,该部分同样用于调试目的。

答案 1 :(得分:1)

你回答了自己的问题!在开发模式下,JavaScript包从计算机上的react-native packager服务器提供。

在为App Store和Google Play发布时,JavaScript会被缩小并捆绑到应用程序文件中(iOS版为.ipa / .app,Android版为.apk)。

Xcode可以在发布模式下运行应用程序。根据项目的设置方式,发布模式可以是不同的目标,一个目标中的不同方案,或目标方案中的构建配置。有关iOS目标/方案的更多信息,请参阅:Xcode: What is a target and scheme in plain language?