Electron项目打包

2023-11-06

前置条件:

  • 本项目为@vue-cli3 搭建的,node版本16.13.2,electron版本18.3.5
  • 已安装electron-builder工具

配置:

1、在vue.config.js 文件中增加配置项:
	pluginOptions: {
        electronBuilder: {
            builderOptions: {
                "productName": "electron-template",
                "appId": "com.xinai.template",
                "copyright": "xinai",
                "directories": {
                    "output": "build"
                },
                "dmg": {
                    "title": "electron-template",
                    "icon": "public/favicon.ico",
                    "contents": [{
                            "x": 410,
                            "y": 150,
                            "type": "link",
                            "path": "/Applications"
                        },
                        {
                            "x": 130,
                            "y": 150,
                            "type": "file"
                        }
                    ]
                },
                "mac": {
                    "icon": "public/favicon.ico"
                },
                "win": {
                    "icon": "public/favicon.ico",
                    "artifactName": "${productName}.${version}.${ext}",
                    "target": [{
                        "target": "nsis",
                        "arch": [
                            "x64"
                        ]
                    }]
                },
                "linux": {
                    "icon": "public/favicon.ico"
                },
                "nsis": {
                    "oneClick": false,
                    "allowElevation": true,
                    "allowToChangeInstallationDirectory": true,
                    "installerIcon": "public/favicon.ico",
                    "uninstallerIcon": "public/favicon.ico",
                    "installerHeaderIcon": "public/favicon.ico",
                    "createDesktopShortcut": true,
                    "createStartMenuShortcut": true,
                    "shortcutName": "electron项目模板",
                    "include": "script/installer.nsi",
                    "warningsAsErrors": false
                },
                "publish": [{
                    "provider": "generic",
                    "url": ""
                }]
            }
        }
    }

图标大小需为 256*256

2、根目录增加 scripts 文件夹,新建 installer.nsi 文件,文件中具体脚本内容(可参考):
; HM NIS Edit Wizard helper defines
!include "MUI2.nsh"
 
; ; MUI Settings
!define MUI_ABORTWARNING
 
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
 
ShowInstDetails show
ShowUnInstDetails show
SpaceTexts show
 
; 安装脚本
!macro customInstall
!macroend

目录如下:

在这里插入图片描述

3、执行打包指令
npm run electron:build

这个时候通常会遇到以下报错,如下:

在这里插入图片描述

这是由于打包的时候要到Github上下载这个资源,所以会特别慢

解决方案:
A.、连接 fang qiang 软件重新打包(不建议使用 fang qiang 软件)
B、(推荐)直接复制这个github地址到浏览器上进行下载,并放在指定位置,如:

C:\Users\Administrator\AppData\Local\electron\Cache

在这里插入图片描述

这时重新执行打包指令,便可以打包成功啦

4、打包成功后会生成exe文件

在这里插入图片描述

5、安装

双击exe应用程序,弹出安装向导,按步骤进行安装:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完成安装后会自动启动程序,或者双击安装目录中的应用程序也可启动程序:

在这里插入图片描述

over

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Electron项目打包 的相关文章

随机推荐

  • Kubernetes系列(一)基础概念

    从最基础开始了解k8s 首先需要清楚三个问题 k8s是怎么出现的 他解决了什么问题 整体架构是什么样的 有哪些优缺点 从以上三个问题出发 本文将分为三个章节 讲述K8S的一些基础概念 发展历程 接触K8S之前 就得先了解一下云计算这个概念
  • 数据结构实验--唯一的确定一棵二叉树

    一 问题描述 如果给出了遍历二叉树的前序序列和中序序列 则可以构造出唯一的一棵二叉树 试编写实现上述功能的程序 基本要求 已知一棵二叉树的前序和中序序列 试设计完成下列任务的一个算法 1 构造一棵二叉树 2 证明构造正确 即分别以前序和中序
  • jsp里面的input的值吗_jsp:如何获取input 输入框中的值?

    匿名用户 1级 2017 01 25 回答 如何用jquery获取中输入的值 test val input name test val input type text val input type text attr value 追问 只能
  • linux: 串口接收十六进制部分字节丢失(0x11,0x0d->0x0a等等)

    https blog csdn net gx19862005 article details 12944687 https blog csdn net chengde6896383 article details 77603302
  • 云备份客户端——客户端整体设计框架以及实用类工具实现

    一 客户端整体框架 客户端要实现的功能和服务端相比相对简单 客户端要实现的功能是自动对指定文件中的文件进行备份 也就是定时对指定文件进行扫描 根据文件信息判断文件 符合要求 新文件或者被修改过的文件 进行上传 因此我们客户端大概需要实现下面
  • FPGA 20个例程篇:8.SD卡任意地址的读写

    三 数据断电存储 工程必备 8 SD卡任意地址的读写 SD卡作为最常见的外设之一 本身也是一种基于半导体快闪记忆器的新一代记忆设备 它具有体积小 传输速度快 支持热插拔等优点 在便携式装置领域得到了非常广泛的应用 例如数码相机 多媒体播放器
  • error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义

    本文主要分析和解决编译链接时产生的 LNK2005 错误 错误信息 mfcs90ud lib dllmodul obj error LNK2005 DllMain 12 already defined in MSVCRTD lib dllm
  • const关键字与指针

    const关键字与指针 1 指针包含的地址是常量 不能被修改 但可以修改指针指向的数据 int x 10 int const p x p 34 指向的数据可以修改 int y 32 p y 不能修改P指向的地址 2 指针指向的数据是常量 不
  • osgEarth的Rex引擎原理分析(一一零)state中_defineMap构建过程

    目标 一零九 中的问题195 是在绘制过程中 每经过一个状态集StateSet就会将该状态集中的模式 属性 一致变量 定义都放入State的相应变量中 定义都放入 defineMap osg State cpp void State pus
  • Ansible Roles 一键完成LNMP

    Ansible Roles 一 Ansible Roles基本概述 1 Ansible Roles介绍 roles不管是Ansible还是saltstack 我在写一键部署的时候 都不可能把所有的步骤全部写入到一个 剧本 文件当中 我们肯定
  • 大型工厂MES管理系统源码

    生产制造业MES管理系统源码 开发环境 ASP NET C VS2010以上 SQL2008R2 C S架构 主要功能 一 用户管理 1 用户登录 2 用户管理 3 操作员录入 4 用户注销 二 系统设置 1 数据库设置 2 机型设置 3
  • vscode中检查代码插件:flake8

    1 命令行安装 pip install flake8 2 在vscode中的用户设置 settings json 中添加以下两行即可 也可以搜索flake8 python linting flake8Enabled true on form
  • BitLocker恢复获取密钥官方操作指南

    下载驱动安装禁用签名 进入Bios一堆骚操作出现下图问题 BitLocker恢复 下面的识别密钥是不能直接用 真正的恢复密钥是一串四十多位的数字序列 第一步 用另一台电脑浏览器进入aka ms myrecoverykey这个网址 就是图里那
  • unity游戏重新开始,退出,停止,继续按钮及打包发布

    一 游戏退出按钮 脚本Out 分为编辑状态下退出和打包编译后退出 这两种都要写上 using System Collections using System Collections Generic using UnityEngine usi
  • Flutter封装自定义按钮(过渡色、水波纹)

    Flutter封装自定义按钮 过渡色 水波纹 全局公用的按钮组件 用的时候不用写一大坨了 直接往里面传值就好了 注意 这里面的ScreenAdapter是我封装的适配方法 用的时候替换为自己的就好了 import package flutt
  • ES的安装使用(windows版)

    前言 Elasticsearch VS Java jdk 版本兼容性 Oracle OpenJDK AdoptOpenJDK 1 8 0 Oracle OpenJDK 9 Oracle OpenJDK 10 Oracle OpenJDK 1
  • HCIP 笔记

    1 交换基础 1 交换机启用过程 RAM 随机存储 当前配置文件 ROM 只读存储 自检程序 NVRAM 非易失性存储 保存配置 Flash 闪存 操作系统 2 交换机 二层基于MAC地址转发设备 依靠MAC地址表进行数据的转发 3 MAC
  • 线程管理之获取和设置线程信息

    获取和设置线程信息 Thread类的对象中保存了一些属性信息能够帮助我们来辨别每一个线程 知道它的状态 调整控制其优先级 这些属性是 ID 每个线程的独特标识 Name 线程的名称 Priority 线程对象的优先级 优先级别在1 10之间
  • Qt实现登录效果(超详细!超简单!)

    title Qt实现登录效果 超详细 超简单 date 2022 8 13 tags 学习 C Qt categories Qt tip 从一个界面按登录跳转到另一个界面 效果图 首先在登录界面输入正确的用户名和密码后点击登录 即可跳到第二
  • Electron项目打包

    文章目录 前置条件 配置 1 在vue config js 文件中增加配置项 2 根目录增加 scripts 文件夹 新建 installer nsi 文件 文件中具体脚本内容 可参考 3 执行打包指令 4 打包成功后会生成exe文件 5