当前位置: 首页 > Web前端 > vue.js

electron(3)-实现打包和自动更新

时间:2023-03-31 18:30:49 vue.js

公司内部有一款基于electronvue的桌面软件。前几天开发这个客户端的负责人离开了,我成了临时接手文件优化的人。作为一个写vue但是第一次接触electron的人,花了几天时间浏览了electron的整体架构,electronvue官方文档,客户端代码。尽管如此,我在优化过程中还是遇到了很多麻烦。项目结束后,在此做一个总结。功能测试通过后,开始打包发布,开始了漫长的填坑之路。电子封装通常可以通过两种方式实现:electron-packager或electron-builder。我选择了electron-builder包。官方文档说electron-builder:一个完整??的解决方案,用于打包和构建一个准备分发的Electron,适用于macOS、Windows和Linux的ProtonNative应用程序,具有开箱即用的“自动更新”支持。(打包构建适用于多平台,支持自动更新)以下是我的部分配置:"scripts":{"build":"node.electron-vue/build.js&&electron-builderbuild","build:win":"node.electron-vue/build.js&&electron-builderbuild--windowsnsis:x64"}"mac":{"icon":"build/icons/icon.icns","target":["Dmg"]},"Win":{"Icon":"Build/icons/icon.ico","target":[{"target":"nsis","arch":["x64"]}]},(1)npmrunbuild打包mac系统环境后报错:然后我修改了mac配置:"mac":{"icon":"build/icons/icon.icns","target":["dmg","zip"]},然后将打包后的dmg、zip和latest-mac.yml文件放到release路径下,不报错。虽然不太明白为什么mac系统需要一个zip文件但是在windows系统环境下打包发布时并没有报错。(2)无法获取运行应用的代码签名:将新版本安装包放入发布路径后,旧版本软件弹出弹框提示“找到新版本,是否需要更新?”当我点击更新时,又报错:需要代码签名。网上有个方法如何打包写代码签名:sudovim~/.bash_profile写证书所在位置exportCSC_LINK=~/work/development.p12refreshenvsource~/.可以在env中查看bash_profile是否写入成功。当然,这个操作能否成功的关键是你的keychain中有一个开发者证书。如何将AppleID账户中的证书与keychain关联,这里不再赘述。没有代码签名打包时:有代码签名打包时: