反应本机下载javascript包100%卡住

时间:2018-08-22 12:30:16

标签: reactjs react-native npm expo

当我尝试执行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"
  }
}

13 个答案:

答案 0 :(得分:7)

这可能有多种原因。我试图在模拟器上运行其他应用程序,重新启动模拟器,甚至试图删除构建文件夹并从头开始重建,但是这些方法都不能解决问题。

最终起作用的是我一直在后台工作的restarting the React Native Debugger

答案 1 :(得分:2)

就我而言,我的代码在Android中工作,但在iOS模拟器中不工作。

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

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

在App.js中将其删除后,它可以正常工作。

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

答案 2 :(得分:2)

这是我在Mac中解决此问题的方式。

  1. 我的屏幕停留在100%下载javascript包

Screen stuck Downloading javascript bundle 100%

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

Click on Stop RemoteJS Debugging

  1. 应用程序现在将加载

Application will load now

答案 3 :(得分:1)

就我而言,这总是在我打开远程JS调试时发生的。 JS捆绑包将加载到100%,但是应用程序被卡住了。 React Native Debugger无法连接,并显示错误消息Another debugger is already connected

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

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

答案 4 :(得分:0)

您需要安装Android模拟器,例如,使用Android Studio或Genymotion。接下来创建Android虚拟设备。之后,启动您的虚拟设备,然后运行

sed

此后,Expo应该在您的设备上启动。

答案 5 :(得分:0)

您应该尝试设置一个新的本机项目并将文件传输到新项目中,然后尝试再次运行它,如果缺少构建文件,则会发生此问题

答案 6 :(得分:0)

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? 您是否已在模拟器中>硬件>擦除所有内容和设置?

答案 7 :(得分:0)

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

我创建了自己的解决方案,并且对我来说效果很好,也许对某人有帮助,您也可以在 Apple Android 上尝试

  1. 使用npm update -g expo-clinpm update -g react-native更新expo-cli和react-native
  2. 在模拟器或设备上卸载expo应用,然后重新安装
  3. 使用expo init project_name创建新项目(使用原始项目名称,将先前的项目重命名以进行备份)。
  4. 尝试在博览会应用程序中运行此新的空白应用程序,它应能正常运行。
  5. 现在从一个无法运行的package.json中逐个或批量安装每个依赖项,但不使用命令expo install package_name给出版本(手动,因为版本冲突可能会导致这种情况)。
  6. 现在将您的旧项目文件和目录(包括app.jsonApp.js添加到该新项目中。
  7. 使用expo start -c命令再次运行您的项目。

接下来就是您的工作项目!
快乐编码!

答案 8 :(得分:0)

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

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

$ npm install -g n
$ n 14.15.1

答案 9 :(得分:-1)

这则帖子很旧,但请放手, 我如何为自己解决这个问题:

> install yarn
  

> run: yarn remove react-native
  

> run: yarn add react-native
  

> run: react-native run-android

答案 10 :(得分:-1)

对我来说,清除EXPO应用程序数据有效。显然我已经将数据存储在SQLite中,然后我一直在错误地获取数据。

答案 11 :(得分:-1)

在我的情况下,我删除了代码中的for循环,足以解决此问题。显然,我的react应用每次运行该循环时都会崩溃。

答案 12 :(得分:-1)

就我而言;

我添加了一个新软件包(@ khanshamshad32 / carousel)v1.0.1。我猜包裹有问题,我在真实设备上的博览会卡住了%100 ..,而我打算删除包裹中的所有物品。

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

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

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

它确实起作用