React Native热更新--搭建本地Code Push Server

本文介绍了如何自建CodePush服务器以实现React Native应用的热更新,包括服务端配置、客户端设置和React Native项目的集成。通过详细步骤指导,从安装MySQL到启动服务,再到客户端的登录、应用配置,以及React Native项目中添加code-push模块并配置Android和iOS,最后展示了如何发布更新。
摘要由CSDN通过智能技术生成

()热更新原理

React Native会将所有需要加载的js文件都打包在一个bundle文件中,而app运行时会加载该文件。所以,热更新的一个可行思路是动态替换该bundle文件,然后重启app。如果修改原生代码则需要重新打包app。开发环境时使用调试工具可以 Reload JS其实就是替换bundle文件。

微软的CodePush(https://microsoft.github.io/code-push)是实现了热更新的一个工具,但是CodePush的服务器在国外,国内使用的话速度并不理想,所以需要自建CodePush服务提供更好的体验。

自建CodePush 服务分为三个部分:服务端、客户端、React Native

[]服务端

(1)安装MySQL并启动服务,需要记住数据库的账户和密码
MySQL下载地址:https://dev.mysql.com/downloads/mysql

(2)安装code-push-server
code-push-server项目地址:https://github.com/lisong/code-push-server

{1}下载code-push-server代码,并安装相关资源

// clone代码
git clone https://github.com/lisong/code-push-server.git

// 进入项目并安装资源
cd code-push-server && npm install

{2}修改config/config.js 文件,在db对象中添加数据库信息

db: {
username: process.env.RDS_USERNAME || "root",  //数据库账户
password: process.env.RDS_PASSWORD || "root123456",  //数据库账户密码,需要自己设置
database: process.env.DATA_BASE || "codepush",  //新建的数据库表名
host: process.env.RDS_HOST || "127.0.0.1",
port: process.env.RDS_PORT || 3306,
dialect: "mysql",
logging: false
},

{3}在code-push-server目录下执行命令,创建数据库表

// 初始化mysql数据库
./bin/db init --dbhost localhost --dbuser root --dbpassword 数据库密码

或者
./bin/db init --dbhost 127.0.0.1 --dbuser root --dbpassword  数据库密码

创建数据库表时,如果出现以下报错:

Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client

解决方案如下:参考 https://blog.csdn.net/qq_19707521/article/details/80226321

1.配置MySQL环境变量

在.bash_profile的末尾添加两行

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

2.登录MySQL,执行以下语句

//登录MySQL	
mysql -u root -p
#接着输入你的数据库密码

//一次执行下面三条语句
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '数据库密码';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '数据库密码';
SELECT plugin FROM mysql.user WHERE User = 'root';

{4}修改config/config.js 文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值