构建 swanlab 为 PC 端应用
swanlab 暂时未提供桌面端应用,其云端版主体形式为网站,但是我们可以通过一些工具和手段构建为桌面端的应用。
准备工作
安装 Pake ,pake 是一个 rust 构建的打包工具,可以以 webview 模式将网页构建为本地应用,推荐用 npm
安装:
npm install -g pake-cli
其实到这已经可以了,但是如果你希望不是用 pake 打包后的默认应用图标,那么可以从这里下载 swanlab 的图标。
但是不同系统需要的 icon 类型不一样:
- macOS:
.icns
文件 - Windows:
.ico
文件 - Linux:
.png
或.svg
文件
我使用的是 mac,可以使用一些小工具转化格式,比如在线的网站:https://www.aconvert.com/cn/image/png-to-icns/。
构建
构建起来很简单,在此之前可以创建一个新目录,保存自定义的应用 icon 和构建后的应用:
mkdir app
cd app
pake https://swanlab.cn --name SwanLab --icon ./logo.icns
其他常用参数:
--width
/--height
: 设置窗口大小--fullscreen
: 启动全屏--transparent
: 透明窗口(部分系统支持)--user-agent
: 自定义 UA
这个时候应该可以看到当前目录下有一个 SwanLab.dmg
,并且由于 pake 使用的是 webview,比别使用内核打包出来的小很多,dmg 不到 10mb,解压后的 app 也不到 20mb。
不想自己打包的可以看我在这里上传的资源,不过只有 mac 端的,下载并应用到 applications 以后如果打不开,记得尝试用一下下面的命令取消不信任标识。
问题
构建完成后,如果直接打开 SwanLab.dmg
,到安装界面后任然双击打开而不应用到 applications,是能够正常打开的,但是放到 applications 中再打开发现闪退,这个时候要运行一下:
xattr -dr com.apple.quarantine ./dist/swanlab.app
这是因为自己打包没有凭证的话,可能会给构建出来的应用带上 com.apple.quarantine
即不信任标识,上面的命令可以移出该标识。
至于别的操作系统还没尝试,可能试过以后有坑的话会补充一下。