这个问题实在是困扰了我蛮久的,而且 iOS 和 Android 的更换端口体验完全不一致,iOS 完全是自成一套,就挺莫名其妙的。难怪到现在还没 1.0。
首先,RN使用者都知道他默认监听的端口是 8081,你去 RN 的 XCode 项目里面搜 8081 总能搜到点东西。找到 RCT_METRO_PORT,这是个宏定义。看到宏定义,我想到应该可以在 Build Setting 里面添加预处理宏的方式修改这个宏的值。
下面是 RCT_METRO_PORT 的代码,也提示你应该可以用预处理宏的方式来预设。
C
经过我的测试,实际上,我只需要在 React-Core 这个项目中添加相应的预处理宏就能实现端口更改。
noop
然而这种改法挺不直观的,我们只用直接改 Podfile 就行,在 post_install 的 区块下添加以下代码。
ruby
然后,在你的 package.json 里面的 scripts 添加这个代码。
json
然后命令行执行 yarn pods && yarn ios 这样就能自定义到特定端口。
总结
最后,只有 iOS 有这个问题。如果有帮助到你,可以点赞,评论,收藏。