1.真机运行ReactNative 项目报如下错误:
unable to load script from assets 'index.[android](http://lib.csdn.net/base/android) bundle'
make sure your bundle is packaged correctly or youu're runing a packager server
解决方案:
第一步:在 android/app/src/main 目录下创建一个 assets空文件夹
第二步:在项目根目录 执行下面这段命令
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
执行完毕之后,会发现 assets文件夹下多出两个文件
第三步:重新执行 react-native run-android 命令运行程序
总结
这个index.android.bundle毫无疑问就是用来调用原生控件的js脚本,每次当你改变了 index.android.js,你都需要使用上面的代码片段,来及时的更新index.android.bundle,然后打包才可以把新的index.android.js应用上,所以当没有index.android.bundle文件时,RN是无法运行的.
2. react native 更新后packager启动失败:SyntaxError: Unexpected token
解决方案
造成这样的原因是react native 0.46之后使用ES6语法,如果node版本太低,就无法识别...这种延伸操作符,所以需要更新到node v6以上。
升级node版本步骤
(1)打开终端,输入:node -v查看node当前版本;
如果显示command not found,则证明您还没有安装node,先去安装node,参考http://www.jianshu.com/p/7a6d10a9cc49赶快去配置下吧。
(2)安装n模块:npm install -g n
(3)升级node.js到最新稳定版 在终端输入: n stable
这个时候不要关闭终端,等大概1分钟就会安装成功。
3.模拟器或者真机的调试问题
在真机调试上,总是连不上,报500
如果是真机调试,保证电脑和手机在同一个局域网下,电脑直接开wifi,手机连上就行,然后自己指定ip和端口号,只需要一条命令:
把
react-native start
换成
react-native start --host 192.168.155.1 --port 8081
其中
192.168.155.1是你电脑的ip,这和你自己的电脑有关,使用ipconfig查看即可。
port是你指定的端口,随便填。
接着
react-native run-android