ReactNative进阶(五十四):真机运行报错 “No bundle URL present“解决方案

文章目录

一、前言

rn项目热部署时iphone设备弹出如下错误弹窗:No bundle URL present

遇到以上问题,需要手动生成ios下的main.jsbundle文件。但是使用另一台MacBook Pro 就没有类似问题。

二、问题分析

网上给出的解决方法:生成main.jsbundle文件,在终端项目目录下执行:

java 复制代码
react-native bundle --dev true --entry-file index.js --bundle-output ios/main.jsbundle --platform ios --assets-dest ./ios

或在 package.json 里面添加以下执行命令,终端执行yarn buildios即可生成main.jsbundle文件:

java 复制代码
"buildios":"react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'"

2、然后在TARGES 找到这里并添加,然后重新打包就可以了

实际执行阶段,遇到如下错误:

java 复制代码
Loading dependency graph...Failed to construct transformer:  Error: Cannot create a string longer than 0x1fffffe8 characters

出现以上问题是由于watchman缺失导致,需安装下watchman

shell 复制代码
brew install watchman
brew install gcc

由于资源有限,watchman 安装过程比较曲折耗时,请耐心等待⌛️

安装成功后,重新生成main.jsbundle文件

java 复制代码
react-native bundle --dev true --entry-file index.js --bundle-output ios/main.jsbundle --platform ios --assets-dest ./ios

三、走近 main.jsbundle

在React Native中使用main.jsbundle构建和运行发布是一种优化应用性能和减少包大小的方法。

在React Native中,main.jsbundle是一个包含所有JavaScript代码的文件。它是通过将所有的JavaScript代码打包成一个文件来实现的,以便在应用运行时加载和执行。

main.jsbundle属于React Native应用构建和发布方案中的一种。它是一种静态资源文件,用于存储React Native应用的JavaScript代码。

使用main.jsbundle构建和运行发布方案有以下优势:

  • 减少包大小 :将所有的JavaScript代码打包成一个文件可以减少应用的包大小,从而提高应用的加载速度和性能。
  • 加快应用启动时间:由于只需要加载一个文件,而不是多个文件,因此应用的启动时间会更快。
  • 提高应用的安全性 :将JavaScript代码打包成一个文件可以减少代码被篡改的风险,提高应用的安全性。

使用main.jsbundle构建和运行发布方案适用于以下场景:

  • 发布应用到线上环境 :在将React Native应用发布到线上环境时,使用main.jsbundle可以减少包大小和提高应用性能。
  • 优化应用性能 :对于包含大量JavaScript代码的应用,使用main.jsbundle可以减少加载时间,提高应用性能。
相关推荐
从文处安31 分钟前
「前端何去何从」(React教程)React 状态管理:从局部 State 到可扩展架构
前端·react.js
Wect1 小时前
React Scheduler & Lane 详解
前端·react.js·面试
myNameGL1 小时前
ArkTs核心语法
前端·javascript·vue.js
浏览器API调用工程师_Taylor1 小时前
web逆向之小红书无水印图片提取工具
前端·javascript·逆向
yuki_uix1 小时前
性能指标与优化:从 Core Web Vitals 到实战
前端·javascript
简单不容易1 小时前
vue一次解决监听H5软键盘弹出和收起的兼容问题
javascript·vue.js
滕青山1 小时前
在线图片压缩工具核心JS实现
前端·javascript·vue.js
进击的尘埃1 小时前
低代码组件通信:`EventBus`和响应式数据流,到底该选哪个
javascript
angerdream1 小时前
https://editor.csdn.net/md/?articleId=159120195
javascript·vue.js
敲敲敲敲暴你脑袋1 小时前
穷鬼快乐AI工具Ollama
javascript·人工智能·ollama