Ionic学习笔记10 热更新

通过 cordova-hot-code-push 实现热更新

网址:https://github.com/nordnet/cordova-hot-code-push

一般来说,所有在www目录下的文件都可以通过这个插件进行热更新。

当把app打包的时候,会把html、javascript、images等文件放到web文件夹下,一般有两种方法可以实现更新它们:

  1. 发布一个新版本
  2. 牺牲离线的性能,把页面都改为在线的。如果断网了,那app当然就不能用了。

这个插件可以解决上述的问题。用户第一次打开app的时候,它把所有web文件拷到外部内存中。这时所有的页面会从外置文件夹中读取而不是从当包的文件中读取。每次这个插件连接到服务器的时候,它会检查是否有新的版本可供下载。如果有,它就下载并在下一次启动的时候安装。

支持的平台

  • android 4.0.0以上版本
  • ios7以上版本

安装

ionic plugin add cordova-hot-code-push-plugin
ionic plugin add cordova-hot-code-push-local-dev-addon  #开发时使用,正式编译要卸载,卸载命令是cordova plugin remove cordova-hot-code-push-local-dev-addon

安装最后会建议安装Cordova Hot Code Push CLI client,这个客户端会帮助:

  • 更容易生成必要的配置文件
  • 启动本地服务监听,如果web有变动可以立刻部署新的版本到APP
npm install -g cordova-hot-code-push-cli

打包封装

cordova-hcp build
或
cordova build

使用

1.启动hcp server

cordova-hcp server

这一步可能会报错:Error:spawn ./ngrok.exe ENOENT
这里写图片描述
解决方法是:
稍等会在www下生成chcp.json和chcp.manifest。
检查config.xml,会生成

<chcp>
   <local-development enabled="true"/>
   <config-file url="https://...." />
</chcp>

把这里的地址改为自己的服务器地址,专门放置chcp.json文件。

2.运行或打包

3.测试修改更新

修改chcp.json

{
  "autogenerated": true,
  "release": "2016.07.17-11.36.13",
  "content_url": "http://test.com/hotcode",
  "update": "now"
}

4.将www上传到服务器

http://test.com/hotcode/www

5.重启app,看是否更新成功。

6.设置chcp.json模板

在项目根目录放置:cordova-hcp.json

{
  "autogenerated": true,
  "content_url": "http://test.com/hotcode",
  "min_native_interface": 1, // app内核版本号
  "ios_identifier": "https://itunes.apple.com/cn/app/***", // iOS上线后的地址,用于内核版本更新后的确认跳转
  "update": "now"
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程圈子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值