构建
# 1. 生成exe、dmg、deb可执行文件
# 准备
- 在对应操作系统下打包,比如:在windows下构建 xxx.exe,在MacOS下,构建xxx.dmg
- window区分32和64位系统,如果使用bytecode加密功能,则不兼容。反之,兼容。
# 第零步:预发布模式,测试一下功能是否正常
# prod环境
npm run start
# 第一步:移动前端资源文件
# 操作如下
1:构建资源,如vue前端项目中npm run build
2:根目录:npm run rd
# 解释说明
rd命令会把 frontend/dist 复制到 /public/dist ; 服务最终加载的是 /public/dist前端资源。
frontend目录代码不会被打包,防止源码泄露。
# 第二步:代码加密 (必看)
- 如果未使用该功能,请不要过滤源代码,查看操作:代码加密 (opens new window)
- 如果执行过加密,会生成加密代码:/public/electron ,框架优先读取它,源代码则不生效。
开发阶段如果发现编写的代码不生效,请记得删除加密文件。
ee-core: v1.2.10
npm run encrypt
# 解释说明
encrypt命令会把 electron/ 复制到 /public/electron ; 然后对其加密。
electron目录代码不会被打包,防止源码泄露。
# 第三步:执行打包命令
注1:请尽量让项目名唯一(electron-egg/package.json中name属性),防止和别人软件名称冲突 注2:打包失败,请查看常见问题 (opens new window)。
# 打包时,package.json中build.productName包名不要为中文,避免一些未知异常
# 准备,设置国内镜像
npm config set electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/
# 打包 (windows版)
npm run build-w (32位)
npm run build-w-64 (64位)
npm run build-w-arm64 (arm64)
# 打包 (windows 免安装版)
# ee > v2.2.1
npm run build-wz (32位)
npm run build-wz-64 (64位)
npm run build-wz-arm64 (arm64)
# 打包 (mac版)
npm run build-m
npm run build-m-arm64 (m1芯片架构)
# 打包 (linux版)
# ee > v2.2.1
npm run build-l (32位 deb包)
npm run build-l-64 (64位 deb包)
npm run build-l-arm64 (64位 deb包 arm64)
npm run build-l-armv7l (64位 deb包 armv7l)
npm run build-lr-64 (64位 rpm包)
npm run build-lp-64 (64位 pacman包)
注释:如果你想了解更多平台打包功能,请参照:https://www.electron.build/ (opens new window)
# 第四步:找到程序
目录:electron-egg/out
安装包:electron-egg/out/electron-egg-windows-2.0.3.exe
# 2. 其它修改
- 修改应用名称
# 修改 ./package.json 中属性
name:项目名称(英文)
productName: 可执行程序名称(英文)
appId:软件id
shortcutName:桌面快捷方式名称
# 软件运行时头部名称
# 修改 ./electron/config/config.default.js
windowsOption.title= 'ee框架'
# 前端html的title标签也会影响该值,且优先级最高
- 修改桌面logo
# 路径
./build/icons/256x256.png (名称和尺寸必须一致)(windows或者Linux)
./build/icons/512x512.png (名称和尺寸必须一致)(windows或者Linux)
./build/icons/icon.ico (macOs)
- 修改最小化托盘logo
# 路径
./public/images/tray_logo.png (建议 32x32 或 16x16 )
- 修改左上角logo
# 代码位置
./electron/config/config.default.js
windowsOption.icon= path.join(appInfo.home, 'public', 'images', 'logo-32.png'),
# 图片位置
./public/images/logo-32.png
上次更新: 2025/04/10, 03:07:49