react-native:在开发过程中同时在两个设备上进行热加载

时间:2016-05-21 21:39:44

标签: react-native

我正在为Android和iOS同时开发一个应用程序,我有两部手机在我面前。我在它们上面都启用了热负载,但似乎只有我触摸的最后一个手机才会热负载而另一个手机保持不活动状态,直到我摇动它并再次选择“重新加载js”。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:9)

我也遇到过这个问题。 您可以通过在两个单独的端口上运行打包程序来解决它。在我的<!-- file is at /public/foo/bar.png --!> <img src="/foo/bar.png" /> 我有:

package.json

"scripts": { "start": "node node_modules/react-native/local-cli/cli.js start ", "port-8082": "node node_modules/react-native/local-cli/cli.js start --port 8082", }, 的iOS启动代码中,我将端口更改为8082,例如

AppDelegate

然后我在一个终端会话中运行jsCodeLocation = [NSURL URLWithString:@"http://localhost:8082/index.ios.bundle?platform=ios&dev=true"]; (在默认端口8081上启动),在另一个会话中运行npm start。然后8081将为Android设备和8082 iOS设备提供服务,您可以同时在两个设备上使用热重新加载。

编辑:随着react-native文件架构的更改,npm run port-8082代码现在是:

AppDelegate