Skip to content

生成exe、dmg、deb可执行文件

准备

  • 对应操作系统 下打包,比如:在windows下构建 xxx.exe,在MacOS下,构建xxx.dmg
  • 如果使用 bytecode加密,window区分32和64位,无法兼容运行;没有使用bytecode则忽略。

第一步:构建资源

构建前端 && 主进程 || 加密

更过资源构建命令或详情,查看:快速开始教程中,构建 部分。

bash

# 构建前端 & 主进程,并加密
npm run build

# 单独构建前端
npm run build-frontend

# 单独构建主进程
npm run build-electron

(可选)go:查看教程中,构建 部分。

第二步:代码加密 (必看)

详细说明:代码加密

第三步:打软件包

预发布模式

测试一下功能是否正常(当前环境变量为:prod)

bash
npm run start

配置

查看 builder.json

注意

1:请尽量让项目名唯一(electron-egg/package.json中name属性),防止和别人软件名称冲突

2:打包失败,请查看常见问题

命令

打包配置在 ./cmd/bin.js 中,修改 build 对象属性,自定义您常用的命令配置,它对应的命令在 ./package.jsonscripts 对象属性。

默认命令
bash
# 准备,设置国内镜像
# 如果第一次构建长时间卡住,尝试删除 C:\Users\本机用户名\AppData\Local\electron\Cache 把这个目录清空,并重试

# 打包 (windows版)
npm run build-w

# 打包 (mac版)
npm run build-m
npm run build-m-arm64 (m1芯片架构)

# 打包 (linux版)
npm run build-l
新增命令
bash
# 1. 修改 ./cmd/bin.js 文件
build: {
    win32: {
      args: ['--config=./cmd/builder.json', '-w=nsis', '--ia32'],
    },
}

# 2. 修改 ./package.json 文件
"scripts": {
    "build-w-32": "ee-bin build --cmds=win32",
}

# 使用 (windows版32位)
npm run build-w-32

注释:如果你想了解更多平台打包功能,请参照:https://www.electron.build/

第四步:找到程序

bash
# 程序
目录:electron-egg/out
Windows安装包:out/electron-egg-windows-2.0.3.exe  
Windows免安装包:out/ee-win-3.0.1-ia32.7z
Mac软件包:out/xxxx.dmg
Linux软件包:out/xxx.deb

经验

windowmacos 打包一般没有问题。Linux平台由于发行版太多,建议优先构建下面的安装包:

  • Ubuntu 打deb包
  • UOS统信 打deb包
  • Debian 打deb包
  • Centos 打rpm包
  • 银河麒麟v10(sp1) 打deb包

其它修改

  1. 修改应用名称
bash
# 修改 ./package.json 中属性
name:项目名称(英文)

# 构建配置 ./cmd/builder-xxx.json
productName: 可执行程序名称(英文)
appId:软件id
shortcutName:桌面快捷方式名称

# 软件运行时头部名称
# 修改 ./electron/config/config.default.js
windowsOption.title=  'ee框架'
# 前端html的title标签也会影响该值,且优先级最高
  1. logo修改,见文档