Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 多平台安装程序踩坑记录

    • 背景
      • pkg
        • Electron
          • webloc 修改
            • 各自平台处理
            gahing
            2020-06-11
            随笔 2020
            目录

            多平台安装程序踩坑记录

            # 背景

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

            # pkg

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

            pkg (opens new window)

            代码也很简单

            const open = require('open');
             
            (async () => {
                await open('https://www.baidu.com');
                process.exit();
            })();
            
            1
            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)
            #随笔
            上次更新: 2024/09/01, 23:56:56
            最近更新
            01
            浅谈代码质量与量化指标
            08-27
            02
            快速理解 JS 装饰器
            08-26
            03
            Vue 项目中的 data-v-xxx 是怎么生成的
            09-19
            更多文章>
            Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
            • 跟随系统
            • 浅色模式
            • 深色模式
            • 阅读模式