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,就可以了,至此没遇到其他问题了。

相关推荐
子兮曰12 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰12 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万13 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝13 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋13 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
大蓝头13 小时前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
卡布鲁14 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄15 小时前
JavaScript 隐式全局变量解析
javascript
汉堡大王952716 小时前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大16 小时前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端