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

首先贴上我们这个插件的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.退出应用,然后再次打开这个应用的时候,你就会发现你改的内容已经显示在了我们的手机上了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ionic中,你可以使用`File`插件来处理文件操作。要复制文件并将其保存到目录,可以按照以下步骤进行操作: 1. 导入`File`插件 在你的Ionic项目中,运行以下命令来安装`File`插件: ``` ionic cordova plugin add cordova-plugin-file npm install @ionic-native/file ``` 在需要使用`File`插件的组件中导入它: ``` import { File } from '@ionic-native/file/ngx'; ``` 2. 复制文件目录 使用`File`插件的`copyFile()`方法来复制文件。该方法需要四个参数: - 原始文件路径 - 原始文件名 - 目标目录路径 - 目标文件名 以下是一个示例代码,可以将`/src/assets/file.txt`文件复制到`/src/assets/copy`目录中的`copy.txt`文件中: ``` import { File } from '@ionic-native/file/ngx'; constructor(private file: File) {} // 复制文件目录 copyFile() { const sourceFilePath = this.file.applicationDirectory + 'www/assets/file.txt'; const sourceFileName = 'file.txt'; const targetDirPath = this.file.applicationDirectory + 'www/assets/copy'; const targetFileName = 'copy.txt'; this.file.checkDir(this.file.applicationDirectory, 'www/assets/copy') .then(() => { console.log('目录已存在'); this.file.copyFile(sourceFilePath, sourceFileName, targetDirPath, targetFileName) .then(() => console.log('文件已复制')) .catch(err => console.log('文件复制失败:', err)); }) .catch(() => { console.log('目录不存在'); this.file.createDir(this.file.applicationDirectory + 'www/assets', 'copy', false) .then(() => { console.log('目录已创建'); this.file.copyFile(sourceFilePath, sourceFileName, targetDirPath, targetFileName) .then(() => console.log('文件已复制')) .catch(err => console.log('文件复制失败:', err)); }) .catch(err => console.log('目录创建失败:', err)); }); } ``` 在上面的示例代码中,我们首先检查目标目录是否已存在,如果目录存在,则直接复制文件。如果目录不存在,则先创建目录,然后再复制文件。 注意,在使用`File`插件时,需要在`config.xml`文件中添加以下配置: ``` <platform name="android"> <allow-intent href="market:*" /> <allow-intent href="geo:*" /> <allow-intent href="mailto:*" /> <allow-intent href="sms:*" /> <allow-intent href="tel:*" /> <allow-intent href="http:*" /> <allow-intent href="https:*" /> <allow-intent href="cdvfile:*" /> </platform> ``` 这样就可以实现在Ionic中复制文件并保存到目录了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值