jeecgboot:electron桌面应用打包

新版jeecgboot框架已经可以支持electron桌面应用打包了,具体步骤和常见错误可以参考官网文档:

https://help.jeecg.com/ui/setup/electron-build

https://help.jeecg.com/ui/setup/electron-open

本文用来记录我的实践过程。

1、安装依赖

官网下载的代码,package.json并不包含electron依赖,先执行安装其他依赖,因为electron的依赖安装较慢,稍后单独安装。

先设置镜像,这样安装依赖会快一点。

pnpm config set registry https://registry.npmmirror.com/

pnpm install,其他依赖安装好了后,再单独安装electron。

pnpm install -D electron@35.1.4

pnpm install -D electron-builder

pnpm install -D vite-plugin-electron

安装跟jeecgboot官网一样的electron版本,避免版本兼容性问题。

记得要加-D,这样他就会出现在devDependencies列表里。

依赖安装如果报错,就多试几次,我试了好几次才成功。

2、本地运行

pnpm run electron:dev

果然跟官网一样报错了:

please delete node_modules/electron and try installing again。

在项目根目录下运行node node_modules/electron/install.js,会从远程下载electron的zip文件,下载速度非常慢,我耐心等待,结果下载到60%的时候,报错了。

在deepseek的帮助下,直接下载安装包和密钥文件。

https://npmmirror.com/mirrors/electron/35.1.4/electron-v35.1.4-win32-x64.zip

https://npmmirror.com/mirrors/electron/35.1.4/SHASUMS256.txt

把他们放在Cache目录下:

在项目的根目录下执行以下命令:

1. 设置强制使用本地校验文件(核心!)

$env:electron_use_remote_checksums="false"

2. 设置缓存目录

$env:electron_config_cache="C:\Users\chengxl\AppData\Local\electron\Cache"

3. 设置镜像源(避免其他潜在下载)

$env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"

4. 验证环境变量是否生效

echo "远程校验已禁用: $env:electron_use_remote_checksums"

echo "缓存目录: $env:electron_config_cache"

确定远程校验已禁用为false之后,然后执行:

node node_modules/electron/install.js

这样代码很快完成,没任何输出。

以上操作的目的是强制让electron/install.js使用本地安装包和密钥文件来安装electron。

3、打包

打包的时候果然也遇到了官网提到的错误:

Cannot create symbolic link。

使用管理员身份运行命令提示符,cd到项目根目录,再执行pnpm run electron:build-all,就可以了,至此没遇到其他问题了。

相关推荐
椒哥1 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马1 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头2 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen2 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健2 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒2 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
OpsEye2 小时前
企业大模型压测,需要重点关注哪些指标?
javascript·ai编程
LuHang3 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户360055579003 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端
前端小万3 小时前
用"道法术器"重构你和 AI 的协作方式
前端·人工智能·程序员