RN: 如何启动 local server
使用 react-native init
创建的工程, 在 xcode 中运行会自动启动一个 RN 的本地 Server.
像下面图片展示这样:
那么, 这里问题来了.
比如, 我想暂时不启动这个本地 Server, 那么如何关闭呢?
下面跟大家一起探讨和追究一下.
找到启动的根源
启动这个终端的是在一个 React.xcodeproj 工程的 「Build Phases」中脚本里面配置的.
脚本内容如下:
1 | if nc -w 5 -z localhost 8081 ; then |
真正起作用的是:
1 | open "$SRCROOT/../packager/launchPackager.command" |
解决方案
这样我们就可以关闭这个自启动了, 示例代码如下:
1 | if nc -w 5 -z localhost 8081 ; then |
看看 launchPackager.command
这个文件在「node_modules/react-native/packager/」下面.
该文件是启动另外一个脚本 packager.sh, 核心代码:
1 | source ./packager.sh |
最终执行:
1 | node "$THIS_DIR/../local-cli/cli.js" start "$@" |
大家有兴趣可以去看看源码, 一探究竟.