多平台安装程序踩坑记录
# 背景
目前有个需求是网站提供一个安装包,安装后在桌面提供一个快捷方式,点击快捷方式能够跳到本网站,除了多平台支持外,另一个述求是安装包尽可能的小。
# pkg
作为一个前端最先想到的是 nodejs 解法,找到了一个 npm 包能够打包 js 成 exe (以及其他平台可执行程序)
代码也很简单
const open = require('open');
(async () => {
await open('https://www.baidu.com');
process.exit();
})();
1
2
3
4
5
6
2
3
4
5
6
打包脚本
pkg . --target macos --out-path=dist/ -c package.
1
pkg 的原理是拉了各个平台的 nodejs 环境,所以打包完执行程序要 50+M
并且实现的是可执行程序,不是安装包
优点就是跨平台
注意:下载有问题的可以看这个 https://github.com/vercel/pkg/issues/419 ,可能需要开全局代理fq解决
# Electron
这个就不用介绍了,跨平台开发方案首选
不过缺点一样是打的包太大了
# webloc 修改
macOS 本地修改快捷方式,详见
http://blog.sina.com.cn/s/blog_46577ccc0102w2js.html
只是本地看着舒服,实际没什么用
# 各自平台处理
最后还是选择了这种方案, window 利用 .Net 方案进行开发,最后安装包仅几百 KB
其他平台有待研究
编辑 (opens new window)
上次更新: 2023/08/23, 09:32:05