ReactNative Expo开发 - 11 - 译 - 在任何地方托管您的Expo应用

1,148 阅读3分钟

我们很高兴地宣布,您现在可以从您选择的任何服务器托管您的Expo应用程序。Expo应用的JS和一些资产通常由Expo托管,并通过我们的全球分布式CDN提供服务。当您运行 expo publish 时,CLI 会收集您的所有资产并将其发送到 Expo 的服务器。然后,当用户运行您的应用程序时,它知道检查Expo的服务器是否有更新。这很方便、高性能,对大多数开发者来说效果很好,但有些开发者要求有一种方法可以自己托管他们的代码和资产。

为什么要托管您的应用程序 大多数用户选择将他们的应用程序托管在Expo的CDN上,因为它的性能和可配置性,但在某些情况下,用户将其应用程序托管在自己的服务器上是合理的。例如,在那些已经屏蔽了我们的AWS和谷歌云上的CDN提供商的国家,空中更新很慢或无法使用。在其他情况下,您的公司可能有安全政策,规定所有应用数据都要存储在公司服务器上。现在,您可以轻松配置您的Expo应用,以便从您自己的服务器上提取OTA更新,以更好地满足您的需求。

导出您的应用程序

以下是3个简单步骤的工作过程。 创建一个Expo应用程序并安装expo-cli(npm install -g expo-cli)。 运行expo export¹。这将生成一个输出目录,供您从您选择的服务器上托管。 运行 expo build²,将您的服务器名称作为参数。这将构建一个ipa或apk二进制文件,当新的JS捆绑包和资产可用时,它将从你的服务器上抓取空中(OTA)更新。 你可以从我们的文档中找到更多的信息,我们在文档中介绍了如何使用Github Pages托管你的应用程序。

对您的应用程序进行更改 每当您更新您的应用程序并希望将这些更改部署到您的服务器时,只需再次运行expo export³并托管新生成的输出目录的内容。请注意,我们只支持对您的JS代码和资产进行OTA更新。如果您对您的本地代码进行了更改,您将需要重新提交您的应用程序到Google Play/App Store。 ExpoKit应用程序 我们的导出工具也可以在ExpoKit应用程序上工作,你不需要采取任何额外的步骤来导出它们。

发布详情。 我们在Expo CLI中添加了一个名为expo export的新命令,它可以导出一组文件,您可以从您的应用程序可以访问的任何静态Web服务器中托管。 要了解这个功能背后的技术细节,请观看我在React Native EU 2018的演讲(22分钟)。 如果你有任何问题,欢迎在我们的论坛或twitter上@expo联系我们!

blog.expo.io/host-your-e…