使用 Electron 打包 Windows 可执行程序
使用 Electron 打包 Windows 可执行程序
在使用 Electron 构建桌面应用程序时,通常需要将项目打包为可执行文件(例如 .exe
文件),以便用户可以方便地安装和运行。本文将介绍如何使用 electron-builder
将 Electron 项目打包成 Windows 的可执行程序。
1. 安装依赖
首先,在你的项目中安装 electron-builder
:
npm install --save-dev electron-builder
同时,确保你已经安装了 Node.js 和 npm。此外,还需要在项目根目录下创建或更新 package.json
文件以包含必要的配置信息。
2. 配置 package.json
编辑 package.json
文件,添加构建脚本和打包所需的配置:
{"name": "my-electron-app","version": "1.0.0","main": "main.js","scripts": {"start": "electron .","pack": "electron-builder --dir","dist": "electron-builder"},"build": {"appId": "com.example.my-electron-app","productName": "My Electron App","win": {"target": ["nsis" // 使用 NSIS 打包]}},"dependencies": {},"devDependencies": {"electron": "^23.0.0","electron-builder": "^23.6.0"}
}
这里有几个关键配置项:
appId
: 应用程序的唯一标识符。productName
: 应用程序的显示名称。win.target
: 指定 Windows 打包目标,常用的有:nsis
:使用 Nullsoft Scriptable Install System 创建安装程序。portable
: 创建一个便携式应用程序。
3. 添加资源文件
为了生成更友好的应用图标和窗口图标,你可以在项目根目录下创建或更新以下文件:
build/resources/windows/icon.ico
: 应用程序图标。build/resources/windows/splash-screen.png
: 启动画面(可选)。
你可以使用在线工具将 PNG 图片转换为 ICO 格式,例如 ConvertICO 或其他类似服务。
4. 打包应用
现在可以运行打包命令来生成 Windows 可执行程序:
npm run dist
这会触发 electron-builder
进行构建,并在项目目录下的 dist
文件夹中生成安装文件。默认情况下,使用 NSIS 创建的安装程序将位于 dist/win-unpacked
目录下。
5. 验证打包结果
打开 dist/win-unpacked
文件夹,你应该会看到一个可执行文件(例如 My Electron App.exe
),双击该文件即可启动你的应用程序。此外,你还可以找到相应的 .exe
和其他必要的资源文件。
如果你希望生成带有安装向导的安装程序(.exe
安装包),可以使用以下命令:
npm run dist
这会生成一个包含安装向导的 .exe
文件,通常位于 dist
目录下。
总结
通过上述步骤,你可以将 Electron 项目打包为 Windows 的可执行程序,并提供方便的安装体验。使用 electron-builder
可以轻松地管理和定制你的构建过程,确保生成的应用程序符合预期的需求和标准。希望这个指南对你有所帮助!
相关文章:
使用 Electron 打包 Windows 可执行程序
使用 Electron 打包 Windows 可执行程序 在使用 Electron 构建桌面应用程序时,通常需要将项目打包为可执行文件(例如 .exe 文件),以便用户可以方便地安装和运行。本文将介绍如何使用 electron-builder 将 Electron 项目打包成 Wi…...
爬虫学习笔记(三)--Http协议
思维导图 上面思维导图提取的原文是2026王道计网P286~290 URL最前面(URL传输过程中遵循HTTP协议) 协议 计算机传输的数据实际上就是二进制0和1,协议就是规定这一串二进制数字的前几位代表什么、中间几位代表什么、后几位代表什么 HTTP&a…...
ai环境cuda cudnn conda torch整体迁移 wsl docker
运行没问题的环境,wsl先关停wsl --shutdown 然后导出复制到迁移机器上wsl --export U24 E:\wsl\u24.tar 使用wsl版挂成虚拟机wsl --import U24 E:\wsl\ubuntu E:\wsl\u24.tar 使用docker版挂成镜像docker import E:\wsl\u24.tar my-ubuntu:custom 启动docker容器&am…...
数据库小技巧-使用开窗函数矫正数据库指定列部分列值重复的数据
需求描述 目前有某表的某列部分值重复,需要批量矫正该列数据,确保该列分组内不会出现重复值。 解决思路 -- 创建个临时表 create table t_tmp_20250428( c_bh varchar(32), -- 主键 c_bh_aj varchar(32), -- 主表外键,分组条件,…...
【优选算法 | 二分查找】二分查找算法解析:如何通过二段性优化搜索效率
算法相关知识点可以通过点击以下链接进行学习一起加油!双指针滑动窗口 在本篇文章中,我们将深入解析二分查找算法的核心原理。从基本概念到实际应用,带你了解如何利用二分查找高效定位元素,提升搜索效率。无论你是刚接触算法的新手…...
AI与IT协同的典型案例
简介 本篇代码示例展示了IT从业者如何与AI协同工作,发挥各自优势。这些案例均来自2025年的最新企业实践,涵盖了不同IT岗位的应用场景。 一、GitHub Copilot生成代码框架 开发工程师AI协作示例:利用GitHub Copilot生成代码框架,…...
5.软考高项(信息系统项目管理师)-成本管理
成本管理非常重要,选择、计算考得非常多,必须要好好学。 过程、输入、工具及输出 过程名(附作用) 通俗解释 输入 工具和技术 输出 规划成本管理 为如何管理项目成本提供指南和方向 编制成本管理计划,这个计划主…...
前端:纯HTML、CSS和JS菜单样式
实现了一个多级折叠菜单系统,使用纯HTML、CSS和JavaScript(无任何框架) 一、二级菜单展开 1、实现效果 初始状态-展示全部一级菜单 选中共状态,一级标题选中共为蓝色背景色,二级标题选中共为蓝色文字,展开右侧图标为-,后缩状态右侧图标为+ 2、实现 HTML结构 …...
案例篇:如何用tcpdump和Wireshark识别潜在威胁
无论是日常浏览网页、观看视频,还是企业开展线上业务、进行数据传输,都离不开网络的支持。然而,网络问题也时有发生,比如网络卡顿,相信大家都遇到过,那种等待页面加载的焦急心情,真的让人抓狂。…...
微信小程序开发中关于首屏加载、本地数据持久化的思考
本文将围绕小程序开发中首屏性能优化与本地存储持久化两大重要主题展开,结合实际项目经验,系统分析常见问题、优化方法与最佳实践,构建流畅且高效的小程序体验。 文章目录 前言一、什么是首屏加载?为什么重要?二、小程…...
媒资管理之视频管理
一:业务概述: 媒资管理这个模块是我负责开发的,主要的管理对象是视频,图片,文档等 包括文件的上传,视频的处理,文件的删除 (在媒资管理界面,有个上传视频的按钮&#…...
windows程序转鲲鹏服务器踩坑记【持续更新中】
1.鲲鹏处理器和Intel处理器的区别 处理器/对比项IntelKunpeng厂家因特尔(美国)华为(中国)指令集X86架构ARM-V8架构与指令集- x86 CISC复杂指令集 - 单核性能强(如至强8380主频3.8GHz) - 三级缓存优化,支持DDR4-3200和Optane内存- ARMv8-A RI…...
【阿里云大模型高级工程师ACP习题集】2.6.用插件扩展答疑机器人的能力边界
习题集: 【单选题】在构建Agent系统时,使用Assistant API创建Agent时,若想让Agent具备查询员工信息和发送请假申请的功能,以下对instructions参数设置最合理的是( ) A. “你可以做任何事情” B. “你能查询员工信息和发送请假申请” C. “你是公司助手,功能有:1.查询员…...
程序进程多任务线程
1.程序 程序(program)是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 2.进程 进程(process)是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。进程是操作系统资源分配和处理器调度的基本单位,拥有独立的代码、内部数…...
Finish技术生态计划: FinishRpc
finishRpc 简介 纯个人兴趣设计的项目: 因为失业在家摆烂 所以没事就想写点代码 本身也比较喜欢自己写一些好玩的demo 这个项目的设计完全是取悦自己又菜又有一个创造框架的梦想 可以用于提升框架设计思路以及实践一些常用技术的练习 可以用于校园中的练习 , 如果能对你有所…...
《商业世界的开源法则:协议选择与商业模式创新》
引言 在当今数字化时代,开源软件已成为技术生态系统中不可或缺的一部分。从Linux操作系统到Apache Web服务器,从MySQL数据库到React前端框架,开源项目支撑着全球大部分互联网基础设施和企业IT系统。然而,关于开源协议与商业使用之…...
Kubernetes》》k8s》》explain查 yaml 参数
在创建json 和yaml 时,我们可能不知道具体的参数该怎么写。同样 我们可以通过explain这个 命令来查看 每个参数具体的作用与写法 # 查看 pod类性有哪些参数 kubectl explain pod# 查看pod中 spec下面有哪些参数 kubectl explain pod.spec...
Kubernetes(k8s)学习笔记(三)--部署 Kubernetes Master
前文已经使用docker安装了kubeadm,因此本文使用kubeadm部署master节点。 一.先拉取必要的镜像库到本地。 在拉取之前,先配下镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": [&qu…...
《数据结构之美--二叉树》
一:引言: 上次我们学习了栈和队列这两个数据结构,今天我们来学习一个新的数据结构–二叉树中的堆。 堆其实就是一种特殊的二叉树,具有二叉树的性质的同时,还具有其他的性质。 那么在学习堆之前还是先来了解一下树。 …...
Prompt Engineering 提示工程:释放大语言模型潜力的关键技术与实践指南
提示工程:释放大语言模型潜力的关键技术与实践指南 提示工程(Prompt Engineering)作为与大型语言模型(LLM)交互的核心技术,已成为AI应用开发的关键技能。本文将系统介绍提示工程的定义与发展历程,深入剖析其核心知识点,提供实用的设计框架与技巧,并通过丰富的实战案例展示…...
std::print 和 std::println
一、基本概念 std::print 和 std::println 是 C23 新增的格式化输出函数,旨在替代传统的 std::cout 链式调用。它们基于 std::format 实现,支持类型安全的格式化字符串,语法更简洁,性能更优15。 功能特点: 直接输出到…...
高压直流输电MATLAB/simulink仿真模型+说明文档
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2018Ra)软件。建议采用matlab2018 Ra及以上版本打开。(若需要其他版本可联系代为转换) 使用一个传输功率为1000MW(500 kV,2 kA)直流互连…...
第十四章-PHP与HTTP协议
第十四章-PHP与HTTP协议 一,HTTP 协议详解 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的协议之一,用于客户端(如浏览器)与服务器之间的通信。它是 Web 技术的基石…...
【阿里云大模型高级工程师ACP学习笔记】2.6.用插件扩展答疑机器人的能力边界
一、学习目标 备考阿里云大模型高级工程师ACP认证,深入学习《2.6.用插件扩展答疑机器人的能力边界》这部分内容,主要期望达成以下目标: 理解智能体应用核心概念:理解智能体(Agent)应用的核心概念,包括其如何拓展大模型能力,突破传统答疑机器人局限。掌握构建Agent系统…...
用远程代理模式轻松实现远程服务调用,打开编程新大门
通过远程代理来实现一个简易的远程过程调用实例。带你打开新的大门。 Socket 远程代理服务案例 基于 Socket 的远程服务,我们需要完成以下步骤: 服务端实现:创建一个远程服务,通过 Socket 接受客户端请求并提供计算服务。 客户端…...
(001)Excel 快捷键
文章目录 时间 时间 当前日期:ctrl ; (分号)。当前时间:ctrl Shift ; (分号)。...
TMI投稿指南(二):投稿文章注意事项
文章结构: https://journals.ieeeauthorcenter.ieee.org/create-your-ieee-journal-article/create-the-text-of-your-article/structure-your-article/ 补充材料:准备补充材料 - IEEE 作者中心期刊 --- Prepare Supplementary Materials - IEEE Author…...
从困局到破局的AI+数据分析
从困局到破局的AI数据分析 困局:数据分析的四道高墙破局:AI赋能全流程数据分析远见:AI数据分析的革命性意义 数据是新时代的石油,人工智能是炼油厂。当两者强强联合,一场数据分析的革命正悄然发生。 多少次你面对Excel…...
12. RANSAC点云多平面拟合分割
本文看了博客RANSAC点云多平面拟合分割-CSDN博客的文章,该博客将多平面拟合分割讲的很详细了,这里只是作为笔记用。 1.RANSAC算法原理 三维平面拟合(最小二乘法) 具体实现见下面代码: def SVD(points):# 二维&#…...
Prompt
提示工程指南 | Prompt Engineering GuideGoogle 官方提示工程 (Prompt Engineering)白皮书 | 宝玉的分享https://www.geeksforgeeks.org/what-is-prompt-engineering-the-ai-revolution/Prompt Engineering for Reasoning ModelsPrompt Engineering with Reasoning Models 1.p…...
[特殊字符] SpringCloud项目中使用OpenFeign进行微服务远程调用详解(含连接池与日志配置)
📚 目录 为什么要用OpenFeign? 在cart-service中整合OpenFeign 2.1 引入依赖 2.2 启用OpenFeign 2.3 编写Feign客户端 2.4 调用Feign接口 开启连接池,优化Feign性能 3.1 引入OkHttp 3.2 配置启用OkHttp连接池 3.3 验证连接池生效 Feign最佳…...
迈瑞医疗:国际业务增长21.28% 发展中国家成重要增长引擎
4月28日,迈瑞医疗(300760.SZ)发布2024年年度报告。报告期内,公司实现营业收入367.26亿元,同比增长5.14%;实现归母净利润116.68亿元,同比增长0.74%;经营活动产生的现金流量净额124.25…...
「地平线」创始人余凯:自动驾驶尚未成熟,人形机器人更无从谈起
温馨提示:运营团队2025年最新原创报告(共210页) —— 正文: 近日,国内智驾芯片上市公司[地平线]创始人兼CEO余凯(先生)接受腾讯新闻访谈时,提到如今大火的人形机器人,核…...
R 语言科研绘图第 43 期 --- 桑基图-冲击
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.weixin.qq.c…...
SpringBoot应用原生或docker镜像容器集成Skywalking
相关组件及版本 序号 组件 版本 备注 1 skywalking-oap-server 8.9.1 2 elasticsearch 7.17.6 3 skywalking-ui 8.9.1 4 apache-skywalking-java-agent 8.15.0 一、JAR包方式部署服务 下载apache-skywalking-java-agent jar文件 使用如下名称执行 java \ -j…...
模板--进阶
1. 非类型模板参数 模板解决了两类问题 1控制数据类型 2控制某种设计逻辑 类域可以直接访问什么? 1static修饰的静态成员变量 2typedef定义的内嵌类型 3 内部类 下面我们就要引出一个模板的知识点----------再用类模板的时候从类模板里面去取东西的时候 要…...
PostgreSQL无法查看表中数据问题排查
在 PostgreSQL 中,恢复数据库后,使用 DBeaver 等工具可以看到数据库和表名,但无法查询到表中数据,可能是以下原因之一。以下是可能的原因和解决方法: 1. 恢复未完全成功 原因:数据库恢复过程中可能未完全成…...
实验研究 | 千眼狼高速摄像机驱动精密制造创新
研究背景 小模数齿轮作为精密制造领域的核心组件,以“结构紧凑、重量轻、精度高”等优势,广泛应用于航空航天、工业机器人、精密仪器、医疗设备、新能源和微电机等领域。传统抛光技术效率低、成本高、表面质量不足,电解等离子体抛光技术&am…...
AWS虚拟专用网络全解析:从基础到高级实践
导语 AWS虚拟专用网络是连接企业本地数据中心与AWS云环境的关键桥梁。本文将深入探讨AWS VPN的核心概念、配置方法、最佳实践以及常见问题解决方案,助您构建安全、可靠的混合云网络架构。 一、AWS VPN概述 1. 定义 AWS VPN是一种网络服务,允许用户通过加密隧道将本地网络…...
工业园区工厂企业数字IP广播应急呼叫对讲系统:数字IP广播极大提升工厂企业管理效率与应急响应效能
工业园区工厂企业数字IP广播应急呼叫对讲系统:数字IP广播极大提升工厂企业管理效率与应急响应效能 北京海特伟业科技有限公司任洪卓发布于2025年4月28日 在数字化转型浪潮下,IP应急广播呼叫对讲广播系统凭借其网络化、智能化、融合化、多元化等优势,已…...
我的HTTP和HTTPS
注释:本文章架构跟随小林coding,在此基础上加深个人理解 小林coding:https://xiaolincoding.com/network/2_http/http_interview.html HTTP基本概念 HTTP是什么? http的中文名是超文本传输协议,超文本就是html&…...
python_股票月数据趋势判断
目录 前置 代码 视频&月数据 前置 1 A股月数据趋势大致判断,做一个粗略的筛选 2 逻辑: 1)取最近一次历史最高点 2)以1)中最高点为分界点,只看右侧数据,取最近一次最低点 3…...
计算机考研精炼 计网
第 19 章 计算机网络体系结构 19.1 基本概念 19.1.1 计算机网络概述 1.计算机网络的定义、组成与功能 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 …...
大数据应用开发和项目实战-Matplotlib
Matplotlib的介绍 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态,动态,交互式的图表。比如说散点图、柱状图等等。 Matplotlib的安装与…...
SQLMesh CLI 实战教程: 构建和维护数据转换管道的快速指南
在数据工程领域,构建和维护数据转换管道是一项复杂而关键的任务。SQLMesh 是一个强大的工具,可以帮助你简化这一过程。本文将带你快速了解如何使用 SQLMesh CLI 来构建和维护数据转换管道。本文的目标是在 30 分钟或更短的时间内,让你熟悉 SQ…...
行政区划代码
本文数据来源:中华人民共和国民政部 在平常数据研究和开发中,经常会用到行政区划代码。而行政区划代码的使用,因年份不同可能也不尽完全相同。故整理了1980年到2024年所有的行政区划代码。 这样不仅仅适用于研究区划代码的变更研究…...
Spring生命周期
在Spring框架中,Bean的生命周期指的是从Bean的创建到销毁的整个过程。这个过程包括了多个阶段,每个阶段都有特定的操作。下面是一个典型的Spring Bean生命周期的概述: 一. 实例化(Instantiation) 当Spring容器启动时&…...
前端连接websocket服务报错 Unexpected response code: 301
前端连接websocket服务报错 Unexpected response code: 301 引直连测试301重定向修改nginx配置 引 websocket后端服务正常,监听正常,可以通过简单的前端代码进行连接,但是通过nginx反向代理后报错Error during WebSocket handshake: Unexpec…...
C语言(5)—操作符详解
文章目录 一、操作符分类概览二、二进制与进制转换2.1 进制基本概念 三、原码、反码与补码3.1 基本概念 四、位操作符详解 一、操作符分类概览 C语言中的操作符可以分为以下几大类: 算术操作符:, -, *, /, % 移位操作符:<<, >>…...
ubuntu新增磁盘挂载
1. 确认新磁盘 使用 lsblk 命令查看系统中所有的块设备,找出新增的磁盘。 rootzzwl:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 60G 0 disk ├─sda1 8:1 0 …...