ionic 项目的热跟新以及部分文件忽略更新讲解
2017-01-09 16:47
507 查看
首先贴上我们这个插件的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
如果你会使用其他服务也是可以的。
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.退出应用,然后再次打开这个应用的时候,你就会发现你改的内容已经显示在了我们的手机上了。
然后电脑上的环境需要安装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.退出应用,然后再次打开这个应用的时候,你就会发现你改的内容已经显示在了我们的手机上了。
相关文章推荐
- myeclipse更新完项目之后,JS以及JSP文件会报错
- CoolWeather项目实战(第三部分终章:手动更新天气和切换城市以及后台自动更新)--->第一行代码-Android(第2版)
- 如何用Cocos2d-x创建lua项目以及lua项目如何调用cpp文件(图文讲解)
- spring boot 框架 启动更新项目,以及生成 "实体_"文件
- node项目热更新supervisor,ignore忽略文件不生效问题
- Myeclipse更新整个项目后,有时java或jsp文件,会提示错误,找不到类路径等问题。
- struts2 文件上传 和部分源码解析,以及一般上传原理
- TortoiseSVN - 项目属性 - svn:ignore用于设置忽略的文件
- CodePlex部分项目列表,更新中
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(二)
- 开源项目BNBT可用于其他项目中的文件操作部分
- MyEclipse中将项目导出jar包,以及转化成EXE文件
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(二)
- 【Android游戏开发二十七】讲解游戏开发与项目下的hdpi 、mdpi与ldpi资源文件夹以及游戏高清版本的设置
- tomcat 在META-INF 文件夹中添加context.xml,使项目自动应用更新文件
- Qt2010.05 的ui文件更改后没有更新,以及解决方法
- struts2 文件上传和下载,以及部分源码解析
- 发布小工具- 项目垃圾文件清理器(更新070920)
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(一)
- >>CLI里面的秘密……(二)强命名、元数据以及文件结构(下半部分)