每次在Xcode中执行构建时,都会阻止React Native packager运行

mat*_*tty 7 xcode react-native

每次构建项目时都会执行react native packager(并且没有运行packager).我知道这是一些有意的行为,因为负责启动打包器的脚本是React项目构建阶段的一部分.

问题是我们并不总是在反应本机组件上进行开发.大多数情况下,我们使用嵌入在应用程序中的脱机捆绑包进行了很好的开发.因此,我们希望react native packager不会在每个构建时启动.

这是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
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的:

  • 在项目的"构建设置"下,RCT_NO_LAUNCH_PACKAGER使用值创建用户定义的设置1.这不起作用,只有在添加到"React"项目本身时才会生效.没有用,因为如果有人重新安装了node_modules,将清除此配置.

  • RCT_NO_LAUNCH_PACKAGER值为环境变量添加1到项目中构建方案的Run阶段的Arguments.

此外,不考虑系统全局变量RCT_NO_LAUNCH_PACKAGER,因为这会自动影响所有项目.

有任何想法吗?

小智 0

我刚刚删除了“$SRCROOT/../packager/launchPackager.command”以避免自动启动打包程序。您可以手动执行此操作,也可以将其添加为项目中的脚本。