资讯专栏INFORMATION COLUMN

cordova 热更新配置

shery / 829人阅读

摘要:基础配置在你的项目下面添加热更新插件全局添加对应的插件执行域名上面控制台输出信息中的最后一个选项填你的服务器放置需要热更新代码的地址。这样你的项目就可以热更新了。把你项目中上传到服务器放置热更新代码的位置,再打开你的就会自动更新了。

基础配置

在你的cordova项目下面添加cordova热更新插件

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

全局添加对应的cli插件

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

执行 cordova-hcp init

λ  cordova-hcp init
Running init
Please provide: Enter project name (required):  ComeToChina
Please provide: Amazon S3 Bucket name (required for cordova-hcp deploy):
Please provide: Path in S3 bucket (optional for cordova-hcp deploy):
Please provide: Amazon S3 region (required for cordova-hcp deploy):  (us-east-1)
Please provide: IOS app identifier:
Please provide: Android app identifier:  
Please provide: Update method (required):  (resume)
Please provide: Enter full URL to directory where cordova-hcp build result will be uploaded:  域名/cordovaHp/www/
Project initialized and cordova-hcp.json file created.
If you wish to exclude files from being published, specify them in .chcpignore
Before you can push updates you need to run "cordova-hcp login" in project directory

上面控制台输出信息中的最后一个Url选项填你的服务器放置需要热更新代码的地址。我写的是域名 + cordovaHp/www/

其他选项可以看cli的介绍

执行完之后默认会在cordova项目的www下面生成chcp.json 和chcp.manifest文件

执行 cordova-hcp build 打个戳,控制台会输出相应信息。

λ  cordova-hcp build
// 下面是控制台输出信息
Running build
Config { name: "",
  ios_identifier: "",
  android_identifier: "",
  update: "resume",
  content_url: "域名/cordovaHp/www/",
  release: "2017.12.08-10.56.17" }

在cordova项目下面的config.xml文件下添加代码,和同级;url地址是你服务器放置chcp.json的地址,我这边是域名 + cordovaHp/www/chcp.json;插件会根据chcp.json里面的值来判断需不需要更新。

...


    

然后执行 cordova build 打包你的项目。这样你的项目就可以热更新了。

现在修改cordova项目的js代码测试一下,例如加个alert("success");然后重新执行cordova-hcp build。

把你cordova项目中www上传到服务器放置热更新代码的位置,再打开你的app就会自动更新了。

修改配置

上面使用的hcp都是默认配置,接下来我没来修改一下默认配置。

区分dev和production

在cordova项目根目录下面新建chcpbuild.options文件。

下面是文件内容

{
  "dev": {
    "config-file": "域名/cordovaHpDev/www/chcp.json"
  },
  "production": {
    "config-file": "域名/cordovaHp/www/chcp.json"
  }
}

执行发布代码

cordova build -- chcp-dev
// 控制台信息
CHCP plugin after prepare hook:
Using config from chcp.options:
{
  "config-file": {
    "url": "域名/cordovaHpDev/www/chcp.json"
  }
}
Resulting config will contain the following preferences:
{
  "config-file": {
    "url": "域名/cordovaHpDev/www/chcp.json"
  }
}

这里有个坑:如果cordova是7.0版本,需要加多两个连接符

cordova build -- -- chcp-dev

修改cordova项目根目录下面cordova-hcp.json文件,把连接域名修改成dev环境下面的地址

{
    ...
    "content_url": "域名/cordovaHpDev/www/"
}

cordova-hcp build

λ  cordova-hcp build
 // 控制台信息
Running build
Config { name: "",
  ios_identifier: "",
  android_identifier: "",
  update: "resume",
  content_url: "域名/cordovaHpDev/www/",
  release: "2017.12.08-18.17.42" }

环境配置完成了,更新代码还是和之前一样。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90307.html

相关文章

  • Native | Hybrid | Web App选型及演进方案

    摘要:在被收购,同时把其中的核心层代码进行了开源,新版本后的进入商业化。将做成了一种插件式的方式,便于扩展。到今天,以上的购买都从移动端来,历时一年半。所以我们总结一些一般的演进流程按照不同的分类,做个简单的建议电商类工具类社交类游戏类方案 Native | Hybrid | Web App选型及演进方案 目录 App形态 Web App Native App Hybrid App ...

    MonoLog 评论0 收藏0
  • Capacitor 新一代混合应用“神器” 会代替Cordova吗??

    摘要:介绍畅想是由团队最新开发维护的一个跨平台的应用程序容器,可以轻松构建在,,和上本机运行的应用程序。后者旨在替代或者说是进化。希望看到在未来发展,以及正式发布。我认为它有可能大大改善混合应用开发体验。 1.介绍or畅想 Capacitor是由ionic团队最新开发维护的一个跨平台的应用程序容器,可以轻松构建在iOS,Android,Electron和Web上本机运行的Web应用程序。我们...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

shery

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<