Electron教程(三)如何打包 electron 程序:electron-forge 的使用教程

Electron教程(三)如何打包 electron 程序:electron-forge 的使用教程中定义的是生成的可执行文件的 icon 名字 关于信息等 packgerConfi 是另一个插件使用的配置 其官方的具体配置说明如下 electron forge 官方对应 packgerConfi 的说明 electron packger 官方配置参数说明 外层是通用的 各平台 macOSWindows 通用

Electron教程(三)如何打包 electron 程序:electron-forge 的使用教程

一、安装 electron-forge 是干嘛的

electron-forge 可以自动检测你的系统,然后打包成对应的可执行文件。
它可以实现 package 成最终可用的独立项目文件夹,
还可以 make 成能够安装的 zip




二、安装 electron-forge

还是按之前的目录结构开始

添加 electron-forge 开发依赖,你可以使用指令添加

npm i -D @electron-forge/cli 

也可以直接在 package.json 中添加,然后再运行 npm iyarn
这两种方式是等价的

 "devDependencies": { 
    "electron": "^13.1.7", "@electron-forge/cli": "^6.0.0-beta.58" } 

请添加图片描述
请添加图片描述

三、初始化 electron-forge

electron-forge 在使用之前需要初始化一下,它会自动改变 package 的内容,然后添加几个打包的指令,不需要自己手动添加,很方便

npx electron-forge import 

运行成功

请添加图片描述

来看下 package.json 的变化

请添加图片描述

之前的 package.json

{ 
    "name": "electron-demo", "version": "0.1.0", "private": true, "author": { 
    "name": "KyleBing", "email": "" }, "description": "demo-electron", "main": "app.js", "scripts": { 
    "start": "electron ." }, "devDependencies": { 
    "electron": "^13.1.7" } } 

之后的 package.json

{ 
    "name": "electron-demo", "version": "0.1.0", "private": true, "author": { 
    "name": "KyleBing", "email": "" }, "description": "demo-electron", "main": "app.js", "scripts": { 
    "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make" }, "devDependencies": { 
    "@electron-forge/cli": "^6.0.0-beta.58", "@electron-forge/maker-deb": "^6.0.0-beta.58", "@electron-forge/maker-rpm": "^6.0.0-beta.58", "@electron-forge/maker-squirrel": "^6.0.0-beta.58", "@electron-forge/maker-zip": "^6.0.0-beta.58", "electron": "^13.1.7" }, "dependencies": { 
    "electron-squirrel-startup": "^1.0.0" }, "config": { 
    "forge": { 
    "packagerConfig": { 
   }, "makers": [ { 
    "name": "@electron-forge/maker-squirrel", "config": { 
    "name": "electron_demo" } }, { 
    "name": "@electron-forge/maker-zip", "platforms": [ "darwin" ] }, { 
    "name": "@electron-forge/maker-deb", "config": { 
   } }, { 
    "name": "@electron-forge/maker-rpm", "config": { 
   } } ] } } } 

四、生成可执行文件夹 和 打包

可以看到在 初始化之后 多出了两个指令,分别对应:

  • 生成可执行文件夹 pacakge
  • 打包 make

make 之前,需要先将项目 package,这个在你执行 npm run make 的时候也会提示你

1. pacakge

npm run package 

请添加图片描述

运行成功后,会输出到项目目录的 out 目录下

请添加图片描述

2. make

npm run make 

请添加图片描述

make 之后会输出到项目目录的 out/make

请添加图片描述

五、如何打包,生成不同平台的可执行文件

1. 相关配置全貌 package.jsonconfig

 "config": { 
    "forge": { 
    "packagerConfig": { 
    "appVersion": "1.1.3", "name": "五笔助手", "appCopyright": "KyleBing()", "icon": "./assets/img/appIcon/appicon", "win32metadata": { 
    "ProductName": "五笔助手 Windows", "CompanyName": "kylebing.cn", "FileDescription": "五笔助手 for 小狼毫" } }, "makers": [ { 
    "name": "@electron-forge/maker-squirrel", "config": { 
    "name": "electron_demo" } }, { 
    "name": "@electron-forge/maker-zip", "platforms": [ "darwin" ] }, { 
    "name": "@electron-forge/maker-deb", "config": { 
   } }, { 
    "name": "@electron-forge/maker-rpm", "config": { 
   } } ] } } 

2. packagerConfig 定义生成可执行文件的一些参数

packgerConfig 中定义的是生成的可执行文件的 icon 、名字、关于信息等,packgerConfig 是另一个插件 electron-packger 使用的配置,其官方的具体配置说明如下:

外层是通用的,各平台 macOS Windows Linux 通用

 "appVersion": "1.1.3", // 软件版本号 "name": "五笔助手", // 软件名字 "appCopyright": "KyleBing()", // 作者信息 "icon": "./assets/img/appIcon/appicon", // 对应的图标 

icon 指定软件的图标,就是显示在桌面或者应用列表中的图标
Windows 需要放一个多尺寸的 .ico 图标文件,推荐使用 Greenfish Icon Editor Pro 来制作
macOS 同样需要放一个多尺寸的 .icns 图标文件,如下




在这里插入图片描述
在这里插入图片描述
在任务栏中是这样




在这里插入图片描述

3. packgerConfig.win32metadata Windows 特有的一些字段配置

packgerConfig 中还有 Windows 特有的一些字段需要配置,放在 packgerConfig.win32metadata 中,对应 【关于】菜单中的一些信息

"ProductName": "五笔助手 Windows", "CompanyName": "kylebing.cn", "FileDescription": "五笔助手 for 小狼毫" 

在这里插入图片描述

例子

https://github.com/KyleBing/wubi-dict-editor

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220305.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:47
下一篇 2026年3月17日 下午8:47


相关推荐

  • 8088汇编指令表

    8088汇编指令表汇编指令大全 8088 汇编指令表 nbsp 一 数据传输指令 nbsp nbsp 它们在存贮器和寄存器 寄存器和输入输出端口之间传送数据 nbsp 1 通用数据传送指令 nbsp MOV 传送字或字节 nbsp MOVSX 先符号扩展 再传送 nbsp MOVZX 先零扩展 再传送 nbsp PUSH 把字压入堆栈 nbsp POP 把字弹出堆栈 nbsp PUSHA 把 AX C

    2026年3月26日
    2
  • jacob插件导出文字、表格、图片到Word

    jacob插件导出文字、表格、图片到Word

    2021年8月28日
    75
  • python license activation_怎么解决pycharm license Acti的方法

    python license activation_怎么解决pycharm license Acti的方法标题 pycharm 专业版 pythonLicens python 运行的环境大多数人用的比较多的是 pycharm 但是很多时候我们会发现出现 pycharmLicen 问题 这时候需要怎么解决了 我给大家两种方法 第一种就是如果我们用的不是特别高级的库函数这些 例如 Pygame Django 等 只是写一写简单的算法题目或者初学者 我们可以选用 pych

    2026年3月27日
    2
  • 符号“∑”和“Π”的用法。

    符号“∑”和“Π”的用法。符号 和 的用法 ecnelises nbsp posted 2011 年 2 月 06 日 07 33in nbsp 计算机 nbsp withtags nbsp 公式 nbsp 数学 nbsp 级数 nbsp 记号 nbsp 6492 阅读在数学中 符号 和 分别用来表示求和与求积 首先是函数的累积求和 n 取 m k 中的连续整数值 这个变量 n 可以换成其他任意字母 比如 x 我们把下面的 n m 和

    2026年3月16日
    2
  • oraclesql拼接字符串_java拼接多个字符串

    oraclesql拼接字符串_java拼接多个字符串createorreplaceprocedureproc_query_prior_departmentisCursordepartment_list_nosubisselectdep.id,dep.name,dep.parencreateorreplaceprocedureproc_query_prior_departmentisCursordepartment_list_…

    2025年11月12日
    8
  • BookKeeper存储设计浅析

    BookKeeper存储设计浅析前言本文作为 Pulsar 系列的第二篇文章 主要介绍 ApacheBookKe 在存储上的设计 主要聚焦于以下两点 BookKeeper 的读写流程是怎样的 怎么去存储数据 多副本存储下 BookKeeper 如何处理一致性问题同时强调下 BookKeeper 本身是个独立的项目 本文是在 Pulsar 原理探究过程中对 BookKeeper 存储设计的系统性学习总结 读写流程设计 BookKeeper 采用读写分离的设计读写流程示意图 更细化的读写流程图 写流程设计 1

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号