我和electron有个误会

189 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天

背景介绍

公司接到需求,需要使用开发一个桌面程序用于客户自助机使用,因为没有人会搞桌面端开发,身为啥都搞的前端程序员,身披战袍出战

技术栈选择

接到需求后,结合当前前端主流技术框架和本人严密的调研计划(看看掘金-.- , 掘金打钱💴),决定使用当前最新的vite + vue3 + electron来开发,技术栈决定了,就准备开搞

你以为我就简单的贴一下创建项目代码,然后简单的打包一下就完了吗,那就大错特错了

经过一轮项目搭建,编码,整个项目已经可以运行加打包了,大多数文章都有介绍,这里我就不做介绍了,这篇文章就讲讲整个项目开发过程中遇到的一些事

产品:我想让客户安装过程更加人性化

好家伙,以前的electron程序安装,都是一键安装的,但是一键安装通过在C盘,由于一些系统原因,在C盘的软件的权限不够,所以产品想让客户自己选择安装路径。需求听起来理所当然,所以程序猿就开干了。

分析当前使用的打包插件electron-builder,查阅资料后发现可以使用nsis对打包程序进行个性化配置,那么就简单了,nsis是window的安装制作程序。

"build": {
    "appId": "com.my-website.my-app",
    "productName": "XXX",
    "asar": true,
    "nsis": {
      "installerIcon": "./electron/logo.ico",
      "uninstallerIcon": "./electron/logo.ico",
      "uninstallDisplayName": "卸载这个软件",
      // 取消一键安装
      "oneClick": false,
      // 允许用户自己选择路径
      "allowToChangeInstallationDirectory": true,
      // 允许进行更新
      "allowElevation": true,
      // 创建桌面
      "createDesktopShortcut": true
    },
    // 创建win的包选择方式
    "win": {
      "target": [
        "nsis"
      ]
    },
    ...
}

通过修改打包配置的nsis字段以及修改win环境下的方式,就可以达到客户安装的个性化设置,具体的nsis配置项可自行上网查阅

当我完成这个需求,准备向产品炫耀,产品突然黑着脸和我说,客户又来了需求,这次需要我们的桌面程序去调用客户的应用,客户的应用是.net写,纳尼,跨语言调用,好家伙。。。明天给我等着

关于作者

一个工作三年,摆烂躺平的前端攻城狮