共计 1403 个字符,预计需要花费 4 分钟才能阅读完成。
公司有个内部桌面软件是基于 electron vue 写的,前几天负责开发这个客户端的人离职,我就成了临时接档优化的人。作为写 vue 但第一次接触 electron 的人,花了几天时间浏览了一下 electron、electron vue 官方文档、客户端代码的整体架构,即便如此,在优化过程中还是遇到了很多麻烦,项目结束后,特此做了一下总结。
功能测试通过后,开始打包发布,就开始了漫漫填坑之路。
electron 打包一般可以通过 electron-packager 或者 electron-builder 两种方式实现。我选择了 electron-builder 打包,在官方文档上表示 electron-builder:
A complete solution to package and build a ready for distribution Electron, Proton Native app for macOS, Windows and Linux with“auto update”support out of the box.
(打包构建适用于多种平台,并且支持自动更新)
以下是我其中一部分的配置:
"scripts": {
"build": "node .electron-vue/build.js && electron-builder build",
"build:win": "node .electron-vue/build.js && electron-builder build --windows nsis:x64"
}
"mac": {
"icon": "build/icons/icon.icns",
"target": ["dmg"]
},
"win": {
"icon": "build/icons/icon.ico",
"target": [
{
"target": "nsis",
"arch": ["x64"]
}
]
},
(1)npm run build 进行 mac 系统环境打包后,报了一个错:
然后我修改了 mac 的配置:
"mac": {
"icon": "build/icons/icon.icns",
"target": [
"dmg",
"zip"
]
},
再把打包好后的 dmg、zip 与 latest-mac.yml 文件放在发布路径下,竟然就不报该错误了。虽然我不是很理解为什么 mac 系统需要 zip file 而打包 windows 系统环境发布文件时候却没有报该错误。
(2)Could not get code signature for running application:
将新版本的安装包放到发布路径下后,老版本的软件弹出“发现新版本,是否需要更新”的弹框提示,当我点更新后,又报了一个错误:
提示需要代码签名,网上有一个如何打包写入代码签名的方法:
sudo vim ~/.bash_profile
写入证书的位置
export CSC_LINK=~/work/development.p12
刷新一下 env
source ~/.bash_profile
可以 env 看一下是否写入成功
当然这个操作成功的重点在于你钥匙串中有开发者证书,关于如何把 Apple ID 账号里的证书关联到钥匙串里,这里就不多做赘述了。
没有代码签名打包时:
有代码签名打包时: