ReactNative中热更新通常都是用CodePush;react
CodePush官方github地址:https://github.com/Microsoft/...nginx
了解了CodePush是干什么的,就开始正题了;git
react-native-code-push官方github地址 :https://github.com/Microsoft/...
按照官方文档集成好;github
根据你前面的了解,CodePush的官方服务器是Microsoft的,身在天朝的咱们用户更新速度是无比慢的;因此须要本身搭建服务器,服务器控制权在本身手里,也放心些;
开源服务器地址 :https://github.com/lisong/cod...
按照官方的教程,部署好;json
假如你热更新服务器的地址是: http://hot.nero-zou.com; 那么使用 默认帐号(admin)、密码(123456)登陆进去;能够获得token: Gg9T4nXPpWzvIFKxHNsARwtoZhjY40svOXqog, 这个token在你后面发布热更新也是要用到的;
获得token后,在命令行里执行下面这个命令:curl -X PATCH -H "Authorization: Bearer Gg9T4nXPpWzvIFKxHNsARwtoZhjY40svOXqog" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}' http://hot.nero-zou.com/users/password
注意上面的 token 域名 密码换成你本身的配置react-native
按照官方文档: https://github.com/lisong/cod... 配置Storage mode 为 qiniu或者s3, 我推荐使用 使用七牛,由于有10Gb的免费流量;
注意bucket绑定好域名,否则更新包下载速度会比较慢服务器
因为我没找到添加多个帐号、和根据帐号分配应用权限的方法,我是部署了两个服务,一个对应生产环境,一个对应按开发环境;app
中文文档:https://github.com/Microsoft/...curl
经常使用的命令:测试
code-push login http://hot.nero-zou.com:3000
,若是配置了nginx反向代理,要注意带上端口号登陆,由于nginx代理传输的数据大小有限制;在执行 code-push release-react
时会碰到,带上端口号就没有Nginx代理这一层了;code-push app add <appName> <os> <platform>
code-push release <appName> <updateContents> <targetBinaryVersion>
PS: AppStore对 CodePush的应用没限制;
PPS: 有了热更新,改好bug给测试验证方便多了只要不涉及原生代码改动都不须要从新打包了;