通过react-native init yooweiProject 生成的RN项目(版本基于0.57),目录结构如下

项目结构:

大家可以发现main.jsbundle 是红色的,不存在的,这个属于正常现象。

运行项目,本以为应该没有问题的,但是:

打印的日志:

2018-09-30 15:21:21.194392+0800 yooweiProject[11164:1789544] Unhandled JS Exception: Application yooweiProject has not been registered.

Hint: This error often happens when you're running the packager (local dev server) from a wrong folder. For example you have multiple apps and the packager is still running for the app you were working on before.

If this is the case, simply kill the old packager instance (e.g. close the packager terminal window) and start the packager in the correct app folder (e.g. cd into app folder and run 'npm start').

This error can also happen due to a require() error during initialization or failure to call AppRegistry.registerComponent.

 突然间意识到,本地的RN服务还在刚才的那个yooweiRN项目哪里。果断结束刚才的服务(control+c)

^C

切换到yooweiProject项目根目录

$ cd /Users/galahad/Desktop/ziliao/RN0.57/yooweiProject

$ pwd

/Users/galahad/Desktop/ziliao/RN0.57/yooweiProject

然后开启本地服务

$ react-native start

运行正常

代码如下:

但是main.jsbundle 是红色的,不存在的,虽说属于正常现象,但是我们可以尝试生成。

1、切换到yooweiProject项目根目录,并执行 npm start

$ cd /Users/galahad/Desktop/ziliao/RN0.57/yooweiProject

$ npm start

注意:如果终端已经开启过一个窗口,并且已经运行过该命令npm start(或者是模拟器上面运行RN,已经开启了本地服务),将终端再开启一个窗口,执行 npm start ,会出现下面的问题:

ERR! code ELIFECYCLE

errno 1

ERR! yooweiProject@0.0.1 start: `node node_modules/react-native/local-cli/cli.js start`

ERR! Exit status 1

npm

ERR! Failed at the yooweiProject@0.0.1 start script.

ERR! This is probably not a problem with npm. There is likely additional logging output above.

ERR! A complete log of this run can be found in:

ERR!     /Users/galahad/.npm/_logs/2018-10-10T01_55_04_103Z-debug.log

解决方案就是关掉一个终端的窗口即可。

2、使用curl命令生成 main.jsbundle

由于终端窗口正在连接本地服务,没有办法执行新的命令。我们选中 “终端”图标,右击“新建窗口”完美解决

curl http://localhost:8081/index.ios.bundle -o main.jsbundle

不出意外的出现错误:

error: bundling failed: Error: The resource `/Users/galahad/Desktop/ziliao/RN0.57/yooweiProject/index.ios.js` was not found.

又是 index.ios.js 入口文件名称不同惹的祸,修改命令

curl http://localhost:8081/index.bundle -o main.jsbundle

执行正常,该项目根目录下生成了文件main.jsbundle

注意:上面的这个命令最后用下面的格式

curl http://当前电脑可用的网络ip地址,注意不要写localhost,因为可能取到的ip不是本地有效的ip地址:8081/index.bundle -o main.jsbundle

3、将生成的jsbundle文件导入到当前的项目中

4、在AppDelegate.m中选择使用main.jsbundle注释掉

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];

打开注释:

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

但是这种方式进行的总是会报错:

暂时没有解决,还需尝试解决问题!

React Native 之 main.jsbundle生成方法的更多相关文章

  1. react native 手动打包jsbundle文件

    1 在项目目录/android/app/src/main下建一个文件夹assets 2 react-native bundle --platform android --dev false --ent ...

  2. 关于react native 路由传值及回调方法的理解

    提示:本路由需要通过 this.props.navigation.state.params 获取上一路由传过来的值

  3. React Native学习笔记之2

    1:如何创建一个react native工程 首先进入到指定文件夹里面,然后在终端执行react-native init ReactNativeProject :其中ReactNativeProjec ...

  4. 《React Native 精解与实战》书籍连载「React Native 源码学习方法及其他资源」

    此系列文章将整合我的 React 视频教程与 React Native 书籍中的精华部分,给大家介绍 React Native 源码学习方法及其他资源. 最后的章节给大家介绍 React Native ...

  5. 【React Native开发】React Native进行签名打包成Apk

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50525976 本文出自:[江清清的博客] (一)前言 [好消息]个人 ...

  6. React Native知识12-与原生交互

    一:原生传递参数给React Native 1:原生给React Native传参 原生给JS传数据,主要依靠属性. 通过initialProperties,这个RCTRootView的初始化函数的参 ...

  7. Hybrid App 和 React Native 开发那点事

    简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开 ...

  8. React Native填坑之旅 -- FlatList

    在React Native里有很多种方法来创建可滚动的list.比如,ScrollView和ListView.他们都各有优缺点.但是在React Native 0.43里增加了两种行的list vie ...

  9. React Native之样式

    样式 React Native 不实现 CSS,而是依赖于 JavaScript 来为你的应用程序设置样式.这是一个有争议的决定,你可以阅读那些幻灯片,了解背后的基本原理. 声明样式 在 React ...

随机推荐

  1. centos6.5添加阿里docker加速器

    1. 配置阿里docker加速器 vi /etc/sysconfig/docker 在文件末尾追加下面两行 other_args="--registry-mirror=https://pl8 ...

  2. UITextView 和 UITextField限制字符数和表情符号

    UITextField限制字符数 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)r ...

  3. JFinal文件下载及设置路径

    一:利用超链接 <a href="/download/a.docx">download</a> 二:java代码 1.页面 <a href=" ...

  4. iOS裁剪,缩放图片白边问题解决办法

    几年没来了,感觉还是要写点啥,以后碰见问题 解决就写这吧,当是一个随时的笔记也好. iOS裁剪,缩放图片的代码网上也很多了,但是笔者出现了右边和下边出现白边的情况.出现白边的原因是给的size中的CG ...

  5. vue实现首页导航切换不同路由的方式

    vue实现切换首页路由导航 ,根据切换的不同导航跳转不同的路由,以及当前选中的导航添加选中样式.  html代码: <nav> <!-- 导航栏 --> <div cla ...

  6. 树莓派 ubuntu 系统下修改config.txt文件调整分辨率记录

    参考 https://www.jianshu.com/p/99eea4db21c4 注:操作前最好先备份个 config.txt 文件 防止悲剧 防止悲剧 防止悲剧 终端下 进入boot/config ...

  7. Python的open函数文件读写线程不安全,logging模型文件读写线程安全!

    工作中遇到的问题:如何在多线程的程序中同时记录日志? 最初图省事,使用了最原始的open函数来写日志,因为开始使用的写文件模式的是追加('a'),发现并没有线程不安全的现象,各个线程的的日志信息都写入 ...

  8. ubuntu终端下快捷键之--字体放大缩小

    1.快捷键 Ctrl  -   字体缩小 Ctrl  + (有的电脑是“Ctrl Shift +” 三个按键同时按下)字体放大 Ctrl 0  恢复默认字体 2.终端设置默认字体 在终端下,点击右键- ...

  9. 20145234黄斐《Java程序设计》实验五—网络安全与编程

    1: 两人一组结对编程: 0. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 1. 结对实现中缀表达式转后缀表达式的功能 MyBC.jav ...

  10. [arc081F]Flip and Rectangles-[黑白染色]

    Description 传送门 Solution 有一个神秘的结论..我不知道大佬是怎么场上推出来的. 一个黑白染色图,每次可以任意翻转行或列的颜色,如果每个2*2的子矩阵内黑色格子都是偶数个,则可以 ...