0%

多平台安装程序踩坑记录

背景

目前有个需求是网站提供一个安装包,安装后在桌面提供一个快捷方式,点击快捷方式能够跳到本网站,除了多平台支持外,另一个述求是安装包尽可能的小。

pkg

作为一个前端最先想到的是 nodejs 解法,找到了一个 npm 包能够打包 js 成 exe (以及其他平台可执行程序)

pkg

代码也很简单

1
2
3
4
5
6
const open = require('open');

(async () => {
await open('https://www.baidu.com');
process.exit();
})();

打包脚本

1
pkg . --target macos --out-path=dist/ -c package.

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

其他平台有待研究

您的支持将鼓励我继续创作!