ionic 项目的热跟新以及部分文件忽略更新讲解

    xiaoxiao2021-03-26  3

    首先贴上我们这个插件的GitHub上的地址 https://github.com/nordnet/cordova-hot-code-push

    然后电脑上的环境需要安装node (安装node的时候就会安装npm)  ionic cordova android 等等基础环境,这些各位看官可以自行百度安装。

    接着准备一台服务器,一台电脑,一个手机。准备之后就开始我们今天的主要内容了。

    1.创建一个ionic项目并添加对应平台。

    我使用编辑器是phpStorm.然后打开编辑器中的terminal,(这个其实就是一个cmd环境,如果不喜欢也可以用cmd)。

    ionic start myApp blank

    cd myApp

    cordova platform add android/ios

    2.安装插件 

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

    安装完这个插件 还要装一个全局插件。

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

    3.服务器搭建。

    1)在服务器上创建一个myApp的文件夹

    2)配置Nginx  

    server { location ~ ^\/myApp { index index.html; root /www/; } listen 80; server_name localhost; }

    如果你会使用其他服务也是可以的。

         3)服务器上也安装第二步的全局插件 npm install -g cordova-hot-code-push-cli

    4.安装完上面那个全局插件后就可以使用下面命令生成cordova-hcp.json

    cordova-hcp init

    修改cordova-hcp.json 文件改为

    {

    "update":"start",

    "content_url":"http://103.103.103.103/myApp/www",

    "min_native_interface":10

    }

       这里要注意upate的几个参数

      ● start :app启动时安装更新. 默认值.   ● resume : app从后台切换过来的时候安装更新.   ● now :web内容下载完毕即安装更新.

     在ios上使用start和resume 参数测试的时候都要重启应用两次才会生效,而使用now的时候只需要重启应用就可以看到效果了

    5.如果你要忽略某些文件的热跟新你就要创建一个 .chcpignore文件,文件中加入你要忽略的文件

    **/lib/**     忽略lib下

    **/login/**/login.html    忽略login文件夹下的login.html文件

    (注意,所有忽略的条件用**/开头,一个忽略条件和另一个忽略条件之间用换行隔开,如果是同一行,则第一个忽略条件失效)

    6.使用cordova-hcp build,然后你会发现在www文件夹中会多出chcp.mainfest 和chcp.json文件。

    查看chcp.mainfest文件中会给www下所有的文件一个hash值,而上一步中忽略的文件则没有hash值

    7.配置config.xml文件    在config.xml的</widget>上面加入以下内容,注意native-interface要比min_native_interface大

     <chcp>         <config-file url="http://103.103.103.103/myApp/www/chcp.json"/>         <native-interface version="20" />     </chcp>

    8.将我们的myApp中的文件复制到服务器的myApp文件夹中

    9.cordova run android将应用安装到手机上。

    10.现在到服务器上随便改一个文件 (当然是没有忽略的文件)然后 到这个项目的目录下使用 cordova-hcp build 命令

    11.退出应用,然后再次打开这个应用的时候,你就会发现你改的内容已经显示在了我们的手机上了。

    转载请注明原文地址: https://ju.6miu.com/read-500152.html

    最新回复(0)