Metro bundler 在“加载依赖图,完成”后停止

Posted

技术标签:

【中文标题】Metro bundler 在“加载依赖图,完成”后停止【英文标题】:Metro bundler stops after "Loading dependency graph, done" 【发布时间】:2020-02-02 21:23:29 【问题描述】:

我刚从 ReactJs 开始 RN,我一直在尝试运行一个 React-Native 项目,但是当我输入 react-native start 时,Metro bundler 会停在这一行:Loading dependency graph, done

我注意到这是不对的,因为它没有加载我的代码更改,并且在我重新加载模拟器后它给了我错误 "cannot connect to the development server"

我做了一些研究,它也应该告诉它正在捆绑一个特定的文件 像这样:

BUNDLE [android, dev] ./index.js

current Metro bundler logs

只有运行“raect-native run-android”后才能看到变化

react-native 版本:

react-native-cli: 2.0.1 react-native: 0.61.5

如果需要,我可以提供更多版本。

【问题讨论】:

【参考方案1】:

可能您的设备(模拟器或物理设备)没有看到您的 Metro 服务器在您的计算机中运行。

尝试在您的终端中运行 adb reverse commando 以将您的设备端口正确映射到与地铁相同的端口。

adb reverse tcp:8081 tcp:8081

我假设你的 adb 在环境路径中。

如果这不起作用,只需获取本地 IP 地址(使用 ipconfig 或 ifconfig,具体取决于您的操作系统)。并摇动您的设备。 (或点击ctrl+mcommand+m,不确定这是否是快捷方式),然后选择器将显示一些选项..

转到Settings,向下滚动到Debug server host & port device,输入你的机器IP地址,用metro端口运行服务器(应该是8081)...示例:192.168.0.111:8081

这将尝试找到您的机器和 Metro 服务器。

在你之后

【讨论】:

很常见,您的 RN 应用程序在 dev 中丢失了通往 Metro 服务器的路径。每次重新启动计算机时都应该运行 adb 命令(或者只是将其添加到 npm 脚本中),而 Settings 中的内容,每次删除并重新安装应用程序时都应该再次执行(因为只是一个首选项,保存到您的应用中) 摇动设备是个不错的技巧,对我很有帮助。

以上是关于Metro bundler 在“加载依赖图,完成”后停止的主要内容,如果未能解决你的问题,请参考以下文章

React Native 应用程序不会尝试在调试模式下连接到 Metro Bundler

在我尝试在终端上运行 npm start 后,React Native 没有在 chrome 上启动 Metro bundler

npm run android 挂起“加载依赖图,完成”(BlueWallet)

SyntaxError: Unexpected token react-native init

一个Metro风格的开源项目 MahApps.Metro

如何在 Ubuntu 编译安装 Bundler