每次构建项目时都会执行react native packager(并且没有运行packager)。我知道这是一种有些预期的行为,因为负责启动打包器的脚本是React项目构建阶段的一部分。
问题是我们并不总是在反应本机组件上开发。大多数情况下,我们使用嵌入在应用程序中的脱机捆绑包进行了很好的开发。因此,我们希望反应原生包装器不会在每次构建时启动。
这是React项目构建阶段的一部分:
if [ -z "${RCT_NO_LAUNCH_PACKAGER+xxx}" ] ; then
if nc -w 5 -z localhost 8081 ; then
if ! curl -s "http://localhost:8081/status" | grep -q "packager-status:running" ; then
echo "Port 8081 already in use, packager is either not running or not running correctly"
exit 2
fi
else
open "$SRCROOT/../packager/launchPackager.command" || echo "Can't start packager automatically"
fi
fi
到目前为止我已尝试过:
在我们项目的Build Settings下创建一个值为RCT_NO_LAUNCH_PACKAGER
的用户定义设置1
。这不起作用,只有在添加到“反应”中时才会生效。项目本身。没有用,因为如果有人重新安装了node_modules,将清除此配置。
将值RCT_NO_LAUNCH_PACKAGER
的环境变量1
添加到项目中构建方案的Run阶段的Arguments中。
此外,系统全局变量RCT_NO_LAUNCH_PACKAGER不值得考虑,因为这会自动影响所有项目。
有什么想法吗?
答案 0 :(得分:0)
我刚删除" $ SRCROOT /../ packager / launchPackager.command"避免自动启动打包程序。您可以手动执行此操作,也可以在项目中添加脚本。