Ionic1 APP代码热更新

2017-09-24  本文已影响140人  光脚丫的孩子

功能描述

      APP热更新:不需要重新打包,将更改的代码上传到服务器,打开APP时,APP会自行到服务器检测最新代码以及下载到APP本地实时更新。

前期准备

1.cordova-hcp cli安装

    npm install -g cordova-hot-code-push-cli

    安装cordova-hcp的目的是为了,打开热更新服务

2.添加插件 cordova-hot-code-push-plugin

    cordova plugin add cordova-hot-code-push-plugin

    本插件的git地址:https://github.com/nordnet/cordova-hot-code-push

3.添加插件cordova-hot-code-push-local-dev-addon

    cordova plugin add cordova-hot-code-push-local-dev-addon

    该插件的作用:主要是为了能够本地开发测试,但实际运用中我们都有自己服务器(例如:Tomcat服务),因此此插件可以不必安装。

4.使用如下命令build项目

    cordova-hcp build  或者  cordova build

    执行完命令后会www目录下生成两个文件:chcp.json(用户配置热更新代码版本设置),chcp.manifest(此为清单文件,将www下的所有文件生成一个文件清单)。

5.输入如下命令打开热更新服务:

    cordova-hcp server

    打开服务后,每次代码的改动都会更新chcp.json文件。

        {

        "autogenerated":true,

        "release":"2017.09.24-14.10.42",

        "content_url":"http://79265082.ngrok.io",

        "update":"now"

       }

    说明:

        release为更改时间,

        content_url为更新的路径。

        update:可取值分别为:

            start :app启动时安装更新. 默认值.

            resume : app从后台切换过来的时候安装更新.

            now :web内容下载完毕即安装更新.

6.打开服务后会在根目录下生成 .chcpenv 文件。

项目配置

1.使用命令打开 cordova-hcp server 热更新服务。

2.更改 .chcpenv 文件(更改内容如下)

    {

    "content_url": "http://192.168.14.232:8080/app/union_app_update",

    "config_url": "http://192.168.14.232:8080/app/union_app_update/chcp.json"

    }

    说明:

        content_url为放置更新代码的根目录路径。

        config_url 为检查更新chcp.json文件的路径。

3.在config.xml中添加如下内容:

    <chcp>

        <config-file url="http://192.168.14.232:8080/app/union_app_update/chcp.json"/>

    <chcp>

    url 为检查更新chcp.json文件的路径。

4.修改 chcp.json文件

    {

    "autogenerated":true,

     "release":"2017.09.24-14.10.42",

    "content_url":"http://192.168.14.232:8080/app/union_app_update",

    "update":"now"

    }

    此时运行将代码运行在APP中,此时APP中的热更新代码相当于生效了(注意此处cordova-hcp server启动的服务可关闭也可以不关闭)。

5.正常更改代码(即正常的写入:js、html或css代码等)。

6.代码工作开发完成后,打开热更新服务cordova-hcp server,此时发现chcp.json 文件有所改动,更改字段 content_url 的值。"content_url":"http://192.168.14.232:8080/app/union_app_update"。

7.将www下的文件全部复制在服务端的union_app_update目录中。(复制完成后可以在地址栏中输入地址:http://192.168.14.232:8080/app/union_app_update/chcp.json 测试是否能打开此文件)

8.结束APP应用,重新打开APP即可看到更新内容。

9.下载APP更新代码可以放在APP启动页面中。

上一篇下一篇

猜你喜欢

热点阅读