Cordova 热更新
1.安装 Node.js
安装 CodePush CLI: npm install -g code-push-cli
2.code-push register
这将会启动浏览器,要求验证你的Github或微软帐号。一旦验证成功,它将创建一个CodePush帐号跟你的Github或MSA相连,并生成一个访问密钥(Access Key),你可以拷贝/粘贴到CLI以便登录。
注意:注册成功后,你就已经自动登录了。所以除非你明确登出了,否则你不需要在此机器上再次登录。
code-push login 验证成功
![](https://img.haomeiwen.com/i2252498/44607d023da2c47f.png)
3.在你发布更新前,你需要用如下命令在CodePush服务上注册一个App:
code-push app add <appName> <os> <platform>
例如:code-push app add dingpei android cordova
┌────────────┬──────────────────────────────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Production │ aMr0-ijSoUkE8JrMsDQOXoZYrQXF1b26c12a-f8e1-496c-ba7f-be4727f1d17d │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Staging │ rkQez47RQfKtCQQH8y33LrUPzXUJ1b26c12a-f8e1-496c-ba7f-be4727f1d17d │
└────────────┴──────────────────────────────────────────────────────────────────┘
code-push app add dingpei-ios ios cordova
Successfully added the "dingpei-ios" app, along with the following default deployments:
┌────────────┬──────────────────────────────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Production │ 2i-nX4S4HejgdQX9h-883KnZeq8s1b26c12a-f8e1-496c-ba7f-be4727f1d17d │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Staging │ FNA18i6SNMQpn_Zp_hKTK23h7HhE1b26c12a-f8e1-496c-ba7f-be4727f1d17d │
└────────────┴──────────────────────────────────────────────────────────────────┘
code-push deployment add <appName> <deploymentName>
code-push deployment add dingpei mydeployment
- 发布更新
code-push release <appName> <updateContentsPath> <targetBinaryVersion> [options]
code-push release dingpei ./platforms/android/app/src/main/assets/www 0.5.3 -d
code-push release-cordova < appName > < platform >
code-push release-cordova MyApp-ios ios
code-push release-cordova MyApp-Android android
npm install -g appcenter-cli
code-push release-cordova dingpei android
appcenter login 登录
appcenter codepush release-cordova -a 972835948-qq.com/dingpei -d Production
资料查询:https://github.com/Microsoft/code-push/tree/master/cli#releasing-updates-cordova
https://www.npmjs.com/package/cordova-plugin-code-push
https://docs.microsoft.com/en-us/appcenter/distribution/codepush/cordova#how-does-it-work
-
热更新在html 上添加的 meta
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src * ">
corodva Refused to load the font——拒绝加载字体;Cordova页面加载外网图片失败,Refused to load the image 解决方法:
在标头最佳 img-src * 来允许加载外网图片:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src * ;img-src *">
image.png
image.png
项目中用到的:<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://codepush.azurewebsites.net/ data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *;img-src *;font-src * data:;connect-src *">">