以这种方式运行开发服务器是可能的。您可能希望使用Expo CLI来启动服务器,因为它允许调整更多选项(它无论如何都会启动与 CRNA 相同的 XDL 服务器)。
对于您的内部测试,您可以使用exp start --no-dev --minify --offline --non-interactive
.
--no-dev
并--minify
告诉服务器提供一个缩小的生产包而不是开发包。
--offline
允许服务器在不使用 Expo 帐户登录的情况下运行(如果您在服务器上运行它很有用)
--non-interactive
如果需要输入,则使命令失败。
您需要在服务器上有两个可公开访问的端口:一个用于 XDL 服务器,另一个用于 Metro bundler。.exprc
您可以通过在项目目录中创建一个包含以下内容的文件来设置 XDL 端口:
{ "manifestPort": <XDL server port> }
您可以通过在app.json
文件中添加以下内容来设置 Metro 端口:
{"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 Client 然后可以从exp://your-public-url-for-xdl.example.com:443
.