捆绑软件不会自动加载(无捆绑软件网址错误)

时间:2019-08-09 00:48:09

标签: reactjs react-native metro-bundler

在将我的React Native应用更新到最新版本(0.60.4)之后,使用react-native run-ios启动我的应用将导致我的应用在没有Metro Bundler的情况下启动。

然后,该应用程序将显示以下错误: enter image description here

为了使我的应用程序正常运行,我需要使用npm start启动Metro Bundler,然后运行react-native run-ios

尽管这是一种解决方法,但以前我没有这个问题,只需运行react-native run-ios即可自动启动Metro Bundler。我该如何解决?

编辑:我来自NSAppTransportSecurity的{​​{1}}:

Info.plist

2 个答案:

答案 0 :(得分:4)

我认为在将现有项目升级到React Native v0.60.+时,这个问题很常见。

对于在Mac上遇到此问题的任何人:

  1. 打开Xcode,然后在您的项目下找到Build Phases
  2. 轻按Editor-> Add Build Phase-> Add Run Script Build Phaseenter image description here
  3. 点击Run Script标签底部的新生成的Build Phases
  4. 粘贴以下代码:
export RCT_METRO_PORT="${RCT_METRO_PORT:=8081}"
echo "export RCT_METRO_PORT=${RCT_METRO_PORT}" > "${SRCROOT}/../node_modules/react-native/scripts/.packager.env"
if [ -z "${RCT_NO_LAUNCH_PACKAGER+xxx}" ] ; then
if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then
if ! curl -s "http://localhost:${RCT_METRO_PORT}/status" | grep -q "packager-status:running" ; then
echo "Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly"
exit 2
fi
else
open "$SRCROOT/../node_modules/react-native/scripts/launchPackager.command" || echo "Can't start packager automatically"
fi
fi
  1. 通过Xcode启动您的项目。 Metro Bundler现在应该会自动开始。
  2. 保存更改后,下次在Terminal中运行react-native run-ios时,Metro Bundler将自动开始,并且No bundle URL present错误将不再持续。

答案 1 :(得分:0)

请按照以下步骤操作。我也遇到了这个问题,此问题已通过以下方法解决:

  1. 将您的react native cli更新到最新版本。
  2. 如果使用的是androidX,请使用jetifier和npx。
  3. 更新其中具有开发依赖关系的JSON包

    “ devDependencies”:{

        "@babel/core": "^7.4.3",
        "@babel/runtime": "^7.4.3",
        "babel-jest": "^24.7.1",
        "jest": "^24.7.1",
        "metro-react-native-babel-preset": "^0.53.1",
        "react-test-renderer": "16.8.3"
      },
    

四处走动以启动Metro Bundle。 使用:npm start --reset cache这将启动您的Metro Bundle。