环境说明
electron+vue+elementui+electron-builder
在win下打包正常,在linux下打包错误,错误信息如下:
• building target=AppImage arch=x64 file=dist_electron/BB-API-1.0.0.AppImage
⨯ unknown output format set
github.com/develar/app-builder/pkg/icons.convertSingleFile
/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:305
github.com/develar/app-builder/pkg/icons.doConvertIcon
/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:247
github.com/develar/app-builder/pkg/icons.ConvertIcon
/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
以上问题困恼许久,最终解决方案如下,如有高手有更优解决方法请留下您的宝贵建议,谢谢!
问题解决过程
第一坑 发现问题真相
一开始错误提示,直接看到如下错误
⨯ unknown output format set
下意识的认为是打包格式设置错误,查找相关资料配置成如下是正确的,为什么还提示错误呢?
linux: {
target: [
"AppImage"
]
}
认真看报错的堆栈发现有icons
的错误,这时反应过来不是打包格式错误,而是跟ico图标有关,既然跟ico有关,那问题就有针对性处理了。
第二坑 针对问题处理
既然是ico图标错误,下意识认为图标文件路径配置错误,查找相关资料肯定配置没错,可是为什么还是报错。配置如下
linux: {
icon: path.resolve(__dirname, "bb.ico"),
target: [
"AppImage"
]
}
思考许久,突然想起来,在win下打包时,在制作ico时有系统平台格式,也就是ico是给win下使用的,linux就不行或者在mac下不行。我用的时icofx 3
工具制作的。
到此问题更清晰了,原来是ico格式错误才打印⨯ unknown output format set
,程序真不会骗人,这错误提示真的简单明了。
第三坑 再次被ico图标搞得人崩溃
既然ico格式错误,我把图标换成png格式,天哪,终于打包成功了。
INFO Building app with electron-builder:
• electron-builder version=22.9.1 os=5.4.70-amd64-desktop
• description is missed in the package.json appPackageFile=/home/loon/build/code/client-bb-api/dist_electron/bundled/package.json
• writing effective config file=dist_electron/builder-effective-config.yaml
• packaging platform=linux arch=x64 electron=9.3.5 appOutDir=dist_electron/linux-unpacked
• building target=AppImage arch=x64 file=dist_electron/BB-API-1.0.0.AppImage
DONE Build complete!
启动程序看下./BB-API-1.0.0.AppImage
,程序正常启动,可是让人崩溃的问题是图标没有生效,显示的是默认的图标,千万只草泥马在挥舞奔腾…。
第四坑 浪子回头
我算是怕你了electron-builder
,既然配置ico不行,我直接代码指定总可以吧,代码如下:
win = new BrowserWindow({
width: 1000,
height: 670,
icon: path.join(__dirname, '/bb.png'), //这里指定图标
webPreferences: {
...
}
})
再次启动程序,成功。此问题告一段!
接下来更精彩,请勿走开(以下是私事,不喜欢别往下看了)
好用的HTTP模拟请求工具
市面上有很多HTTP模拟请求工具,有yapi,有ApiPost,好不好用在此不做评价。这里推荐使用BB-API
,功能全面,免费使用、资源无限制,自动生成接口文档,界面简洁大气。支持局域网部署,打造属于你、公司的HTTP 协议管理工具。
官网地址http://yun-api.com/
开源项目-web的远程控制
基于web的远程控制
系统,没错,能够在web上发起远程控制,支持VNC,RDP协议,支持远程录像审计,支持企业级权限控制。关键还是免费开源、资源无限制、无广告
官网地址http://bb.yun-api.com/