cordova 熱更新配置

基礎配置

  1. 在你的cordova項目下面添加cordova熱更新插件
cordova plugin add cordova-hot-code-push-plugin
複製代碼
  1. 全局添加對應的cli插件
npm install -g cordova-hot-code-push-cli
複製代碼
  1. 執行 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文件
  1. 執行 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' }
複製代碼
  1. 在cordova項目下面的config.xml文件下添加代碼,和同級;url地址是你服務器放置chcp.json的地址,我這邊是域名 + cordovaHp/www/chcp.json;插件會根據chcp.json裏面的值來判斷需不須要更新。
...
<access origin="*" />
<chcp>
    <config-file url="域名 + cordovaHp/www/chcp.json" />
</chcp>
複製代碼
  1. 而後執行 cordova build 打包你的項目。這樣你的項目就能夠熱更新了。
  2. 如今修改cordova項目的js代碼測試一下,例如加個alert('success');而後從新執行cordova-hcp build。
  3. 把你cordova項目中www上傳到服務器放置熱更新代碼的位置,再打開你的app就會自動更新了。

修改配置

上面使用的hcp都是默認配置,接下來我沒來修改一下默認配置。android

區分dev和production

  1. 在cordova項目根目錄下面新建chcpbuild.options文件。 下面是文件內容
{
  "dev": {
    "config-file": "域名/cordovaHpDev/www/chcp.json"
  },
  "production": {
    "config-file": "域名/cordovaHp/www/chcp.json"
  }
}
複製代碼
  1. 執行發佈代碼
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版本,須要加多兩個鏈接符ios

cordova build -- -- chcp-dev
複製代碼
  1. 修改cordova項目根目錄下面cordova-hcp.json文件,把鏈接域名修改爲dev環境下面的地址
{
    ...
    "content_url": "域名/cordovaHpDev/www/"
}
複製代碼
  1. 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' }

複製代碼

環境配置完成了,更新代碼仍是和以前同樣。git

相關文章
相關標籤/搜索