反应本机下载javascript捆绑100%卡住

Posted

技术标签:

【中文标题】反应本机下载javascript捆绑100%卡住【英文标题】:react native downloading javascript bundle 100% stuck 【发布时间】:2019-01-28 17:18:39 【问题描述】:

当我尝试执行 npm start 时,它工作正常,但是当我尝试通过 expo 运行我的应用程序时,进程一直运行到 100%,之后什么也没有发生。我没有得到那里的确切问题。我在 package.json 中有以下内容....请帮我解决这个问题。


  "name": "ProMeeting",
  "version": "0.1.0",
  "private": true,
  "devDependencies": 
    "jest-expo": "~29.0.0",
    "react-native-scripts": "^1.14.0",
    "react-test-renderer": "16.3.1"
  ,
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
  "scripts": 
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "android": "react-native-scripts android",
    "ios": "react-native-scripts ios",
    "test": "jest"
  ,
  "jest": 
    "preset": "jest-expo"
  ,
  "dependencies": 
    "@babel/preset-react": "^7.0.0-beta.56",
    "expo": "^29.0.0",
    "firebase": "^5.3.1",
    "native-base": "^2.7.2",
    "react": "16.3.1",
    "react-native": "^0.55.4",
    "react-native-firebase": "^4.3.8",
    "react-native-vector-icons": "^5.0.0",
    "react-navigation": "^2.11.2"
  

为说明目的添加了屏幕截图

【问题讨论】:

我遇到了同样的问题。我刚刚关闭了应用程序并重新启动了应用程序。它适用于我的情况。 【参考方案1】:

似乎有多种原因会导致这种情况发生。我尝试在我的模拟器上运行其他应用程序,重新启动我的模拟器,甚至尝试删除构建文件夹并从头开始重建,但这些方法都没有解决问题。

最终奏效的是重新启动我一直在后台运行的 React Native 调试器

如果您启用了离线节流,您还可以检查 React Native Debugger 的网络选项卡。在某些情况下,禁用它也应该可以解决问题。

【讨论】:

天啊。这正是我必须做的。 也为我工作。为我省了很多力气。谢谢 你如何重启 React Native 调试器? 退出 React Native Debugger 应用程序,就像退出任何其他 macOS 应用程序然后重新启动它一样。它没有专门的重启选项 如果您没有安装 React Native Debugger 应用程序,并且正在通过浏览器运行它,请杀死所有 terminal 实例,然后在模拟器中重新加载(Mac 上的 CMD+R ),然后拉起开发菜单(CMD+D),选择Stop Debugging JS Remotely杀掉它【参考方案2】:

在我的情况下,这总是在我打开远程 JS 调试时发生。 JS 包将加载到 100%,但随后应用程序被卡住了。 React Native Debugger 无法连接,错误消息Another debugger is already connected

在尝试了各种事情(缓存重置、重新启动 Metro builder、重新启动模拟器)但没有任何运气之后,我记得我曾经使用过的唯一“其他调试器”是 Chrome Devtools,所以我退出了 Chrome,然后立即退出又开始工作了。

事实证明,即使我关闭了调试应用程序的 Chrome 选项卡,Chrome 中的一些后台进程仍作为调试器附加到应用程序(在模拟器重启后也是如此)。然后它在启动时遇到了某种断点或异常,所以它暂停了,我只能看到Downloading javascript bundle 100% 消息。

【讨论】:

【参考方案3】:

这就是我在 Mac 中解决问题的方法。

    我的屏幕卡在 Downloading javascript bundle 100%

    选择模拟器,在 Mac 中按 (Command + D),模拟器将显示选项集。

    现在将加载应用程序

【讨论】:

【参考方案4】:

就我而言,我的代码在 Android 中运行,但在 iOS 模拟器中运行。

SplashScreen.preventAutoHide(); 是问题所在。

我调用了两次方法,分别是 App.js 和 Main.js。

在 App.js 中删除后,它工作了。

(我认为restarting the React Native Debugger 也有帮助)

【讨论】:

【参考方案5】:

react-native-firebase 经常会导致同样的问题。

下面是 react-native-firebase 的官方集成指南。 https://rnfirebase.io/docs/v5.x.x/installation/ios

B) 在 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法的开头添加以下行:

[FIRApp 配置]; “建议在创建 RCTRootView 之前在方法中添加该行。否则初始化可能在 JavaScript 代码中已经需要之后发生 - 导致应用程序未初始化异常。”

您有 GoogleService-Info.plist 吗? 你安装了 pod 吗? 你有没有硬件>擦除模拟器中的所有内容和设置?

【讨论】:

【参考方案6】:

我也遇到了同样的问题,做了所有可能的事情,但没有奏效,我恢复了所有更改,但问题仍然存在..

我创建了自己的解决方案,它非常适合我,也许它可以帮助某人,您也可以在 AppleAndroid 上尝试

    使用npm update -g expo-clinpm update -g react-native 更新expo-cli 和react-native 在模拟器或设备上卸载 expo 应用并重新安装 使用expo init project_name 创建新项目(使用您的原始项目名称,重命名之前的名称以进行备份)。 尝试在您的 expo 应用中运行这个新的空白应用,它应该可以正常运行。 现在从不工作的 package.json 中逐个或批量安装每个依赖项,但不使用命令 expo install package_name 提供版本(手动,因为可能由于版本冲突)。 现在将您的旧项目文件和目录(包括 app.jsonApp.js)添加到这个新项目中。 使用expo start -c 命令再次运行您的项目。

你的工作项目开始了! 编码愉快!!!

【讨论】:

【参考方案7】:

截至 2021 年 1 月,your node version 可能是导致此问题的原因之一。

使用node -v检查您的节点版本,如果版本是15.x.x,请尝试将版本降级为14.15.1

$ npm install -g n
$ n 14.15.1

【讨论】:

【参考方案8】:

就我而言,当我尝试使用物理设备时,然后尝试在模拟器中安装。然后它就这样卡住了。我在停止调试器后解决了这个问题。为此使用以下步骤。

安卓:

    进入手机设置>>已安装的应用>>选择你的应用并点击清除数据。 卸载现有应用并尝试安装。

IOS:

    卸载现有应用并尝试安装为新应用。 摇动您的设备并停止调试并再次尝试安装。

【讨论】:

【参考方案9】:

好吧,就我而言,我删除了代码中的一个 for 循环,这足以解决这个问题。显然,我的反应应用程序每次运行该循环时都会崩溃。

【讨论】:

【参考方案10】:

在我的情况下;

我添加了一个新包 (@khanshamshad32/carousel) v1.0.1。我猜包有问题,我在真实设备上的博览会卡住了 %100.. 我要删除所有项目包。

1-来自package.json(相对实例)

2-来自package-lock.json(相对实例)

3- 来自 node_modules 的“包名”文件夹

它确实有效

【讨论】:

【参考方案11】:

你应该尝试建立一个新的 react-native 项目并将你的文件传输到新项目然后尝试再次运行它,当构建文件丢失时会出现此问题

【讨论】:

【参考方案12】:

好吧,这篇文章很旧,但让我们走吧, 我是如何为自己解决这个问题的:

> install yarn

> run: yarn remove react-native

> run: yarn add react-native

> run: react-native run-android

【讨论】:

以上是关于反应本机下载javascript捆绑100%卡住的主要内容,如果未能解决你的问题,请参考以下文章

仅在 ios 设备上反应本机“不存在捆绑 URL”

将反应本机代码与 Xcode 捆绑时运行 .js 脚本

在本机反应中使用javascript过滤数组中的对象

如何运行两个反应本机应用程序?

对缺少必需参数的应用商店做出本机反应

iOS中的Firebase注册错误通过本机反应