toc
- Electron打包
- Electron自动更新
- Mac 版本签名
- 自动更新服务端
Electron打包
Electron代码编写之后便是打包, 官网 介绍了几种方法,用了 electron-packager
主要就是两个命令:
安装electron-packager
代码语言:javascript复制# for use in npm scripts
npm install electron-packager --save-dev
# for use from cli
npm install electron-packager -g
以及打包
代码语言:javascript复制electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]
package.json中配置都填写后(不要漏了productName , author和description后续自动更新会需要),打包命令可以这样写:
代码语言:javascript复制electron-packager ./ --all
打包Mac版就可以这样
代码语言:javascript复制electron-packager ./ --platform=darwin --arch=x64
打包完会在项目根目录下生成打包文件的目录。
Electron自动更新
electron依赖Squirrel做自动更新,Mac版electron已经内置Squirrel.Mac
Mac 版本签名
开发过程中发现需要签名(可能是个例,其他教程中说不需要),所以在打包的时候需要附带签名信息,具体的可以参考 electron-osx-sign
Mac App Store版不能有自动更新,非Mac App Store版打包命令
代码语言:javascript复制electron-packager ./ --platform=darwin --arch=x64 --app-bundle-id="Developer ID Application" --osx-sign
自动更新服务端
自动更新需要服务端支持,核心就是请求服务端判断是否有新版本
代码语言:javascript复制GET /mac/lastes?version=[verson]
如果无新版本返回204即可,如果有新版需要返回200的json(必须要url字段,提供app的zip包):
代码语言:javascript复制{
url:'http://site.com/app.zip'
}
以上的介绍在网上有更加详尽的说明。
因为Hipo本身引入了CloudKit做数据多设备同步,Cloudkit也支持web,和server端请求public database中的数据,再加上CloudKit近乎奢侈的额度,还不错的大文件(electron打包后的app有200~300M)上传下载速度(大家可以通过Hipo cloudkit测试