在外部网络上托管 Expo 应用程序?

2024-02-15

我正在编写一个应用程序create-react-native-app(CRNA) 为一家公司。最终,它可能会投入生产,但出于研究原因,我需要一个可以轻松部署到同事手机(Android 和 iOS)的工作原型。

由于知识产权的原因,我不得在任何外部托管平台(Google Play、App Store、Expo 托管等)上发布内容。不过,我确实可以访问可以在公司内部网外部进行通信的内部服务器。

鉴于此,我想知道是否可以运行由npm start以这样的方式接受外部连接(即通过端口转发、代理或 VPN)。

密码安全是理想的选择,但如果这是唯一的选择,那么保密也可以。 Ofc 的答案属于网络安全范畴。


可以通过这种方式运行开发服务器。您可能想使用Expo CLI https://docs.expo.io/versions/latest/guides/exp-cli.html启动服务器,因为它允许调整更多选项(无论如何,它启动与 CRNA 相同的 XDL 服务器)。

对于内部测试,您可以使用以下命令启动服务器exp start --no-dev --minify --offline --non-interactive.

  • --no-dev and --minify告诉服务器提供缩小的生产包而不是开发包。
  • --offline允许服务器在不使用 Expo 帐户登录的情况下运行(如果您在服务器上运行它,则很有用)
  • --non-interactive如果需要输入,则使命令失败。

您需要在服务器上有两个可公开访问的端口:一个用于 XDL 服务器,另一个用于 Metro 捆绑程序。您可以通过创建一个来设置XDL端口.exprc项目目录中的文件包含以下内容:

{ "manifestPort": <XDL server port> }

您可以通过将其添加到您的app.json file:

{"expo": {"packagerOpts": { "port": <Metro port> }}}

使用代理

如果你想在服务器前面运行代理(例如NGINX)来控制对其的访问或启用HTTPS,你可以使用这些环境变量来告诉exp关于您的代理的可公开访问的 URL:

export EXPO_MANIFEST_PROXY_URL="https://your-public-url-for-xdl.example.com"
export EXPO_PACKAGER_PROXY_URL="https://your-public-url-for-metro.example.com"

然后,Expo 客户端可以从以下位置打开该应用程序:exp://your-public-url-for-xdl.example.com:443.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在外部网络上托管 Expo 应用程序? 的相关文章

随机推荐

  • BroadcastReceiver 的生命周期相对于 Android O 发生了变化

    如果我声明一个BroadcastReceiver通过系统广播的清单文件 例如ACTION POWER DISCONNECTED 系统将在每次发送特定广播时调用它 因此 BroadcastReceiver 的生命周期不受限制 但也有一些广播无
  • JavaScript 全局变量和自调用匿名函数

    所以我一直在读Javascript 好的部分 https rads stackoverflow com amzn click com 0596517742Crockford 指出的一件事是 Javascript 中全局变量的使用弱点 如果你
  • CSS:当我附加新的 div 元素时,z-index 无法正常工作

    我想实现一个关于绘制由 div 元素配置的一些矩形和贴纸的网站 要添加贴纸或矩形 用户单击按钮 我想按以下顺序排列 div 元素 上 贴纸 gt 架子 gt 矩形 gt 画布 下 所以我在样式表中使用了 z index canvas pos
  • 我怎样才能制作一个无限循环并暂停 5 秒

    string connectionstring server SQLVS2 SQLVS2 database DDM Persist Security Info True uid ddmuser password User02 Ddm Sql
  • JasperReports 可以在报告中包含 pdf 吗?

    是否可以在 JasperReport 中包含现有的 pdf 文件 我们确实希望将新数据附加到现有报告中 而不重新生成现有报告 我们将导出回 pdf 我正在考虑使用 iText 的 PdfCopy 来合并两个 pdf 但希望 JasperRe
  • 通过联合访问 __m128 变量的字节是否合法?

    考虑这个变量声明 union struct float x y z padding components m128 sse data 我的想法是通过分配值x y z字段 执行 SSE2 计算并通过读取结果x y z 不过 我对这是否合法有些
  • 检索 Windows Vista 及更高版本上 BootMgr 的分区号

    我需要将启动管理器映射到分区号 Manufacturer Recovery partition Partition 0 Boot manager Partition 1 C Partition 2 D Partition 3 对于已安装的分
  • 在 R 中转换 3D 数组中的表格

    我有一个矩阵 R gt pippo m 1 2 3 4 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 4 13 14 15 16 5 17 18 19 20 6 21 22 23 24 我想用 dim 2 4 3 将该矩
  • 如何调试 UWP UpdateTask?

    在我的 UWP 应用中 如何通过 UpdateTask 中的代码进行调试 VS 2017 中的 生命周期事件 下拉菜单似乎没有提供触发此类后台任务的选择 有办法做到这一点吗 首先介绍一下 UWP 的 UpdateTask 这是一个后台任务
  • facebook-ios-sdk requestWithGraphPath:@"我/朋友"

    我找不到关于这个 sdk 的任何基本文档 我只是愚蠢还是找错地方了 我不知道这个方法是什么 void request FBRequest request didLoad id result 实际上在这样的请求的情况下返回 requestWi
  • Bootstrap tabbable 和 popover 之间的冲突

    我正在尝试在同一页面中使用 Twitter Bootstrap tabbable 和 Bootstrap popovers 我在解决弹出窗口无法出现在选项卡限制之外的问题时遇到困难 问题是当弹出窗口出现在边框旁边时 它是半隐藏的 我不是 J
  • 需要授予哪些权限才能访问 sys.dba_systems

    我正在开发适用于 Oracle 的应用程序 对于某种逻辑 我需要从给定的数据库用户获取具有指定模式的表列表 就我而言 我有一个已授予给定模式访问权限的用户 因此 当我的代码使用给定的凭据创建连接并尝试从以下查询中获取表时 它返回表列表 SE
  • Laravel 5 委托一条路由 - 根据角色加载不同的控制器

    所以我刚刚开始学习 Laravel 并且我已经实现了 Entrust Role Permission 包 效果非常好 现在我的问题是 我想要一个 仪表板 页面 如下所示 example com dashboard 问题是 我不确定如何设置
  • 如何在android中使线性布局部分透明?

    我有一个RelativeLayout含 2LinearLayouts其中一个部分覆盖另一个 我想做的一部分LinearLayout顶部透明 所以我也可以看到第二个LinearLayout 知道我有 2 张图像作为 2 张图像的背景Linea
  • bash 脚本根据文件名中的日期查找旧文件

    我正在开发一个 bash 脚本 该脚本需要根据一个变量搜索单个目录中 旧 的文件 该变量指定在超过阈值之前需要经过多少天 并且文件被标记为要执行操作 可以是任何内容 从移动到存档到删除 等等 问题是文件的修改时间与确定文件需要多久才能采取行
  • 将 gitlab 包注册表中的 python 包和其他外部索引直接包含到 setup.py 依赖项中

    The gitlab包注册表 https docs gitlab com ee user packages 可以用来publish https docs gitlab com ee user packages pypi repository
  • 如何将小程序作为应用程序运行?

    我有一个 Applet 类 我想让它作为应用程序运行 所以我编写了以下代码 public static void main String args JFrame app new JFrame Applet Container app set
  • 在 jboss 中加载 HTML 图像

    我有 HTML 页面 放在临时文件夹 WEB INF 目录之外 中 我在 HTML 页面中使用了一些图像 我也将这些图像放入临时文件夹中 然后创建了我的 war 文件 当我在 localhost 中运行该程序时 图像不会加载到 HTML 页
  • 如何在 JavaScript 中将所有对象属性设置为 null?

    我正在使用 Vue 突然使用一些计算的 cssvuetify https vuetifyjs com不管用 我声明对象的方式是 personal info 在我的模板中 我可以这样做personal info name以及每个文本输入 v
  • 在外部网络上托管 Expo 应用程序?

    我正在编写一个应用程序create react native app CRNA 为一家公司 最终 它可能会投入生产 但出于研究原因 我需要一个可以轻松部署到同事手机 Android 和 iOS 的工作原型 由于知识产权的原因 我不得在任何外