news 2026/8/22 1:35:58

jeecgboot:electron桌面应用打包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 -Delectron@35.1.4

pnpm install -D electron-builder

pnpm install -D vite-plugin-electron

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

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

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

2、本地运行

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 0:38:15

Lua中 . 和 : 的区别

文章目录1、基础介绍2、稍微深入的了解2.1 定义的函数的示例2.2 定义的函数的示例1、基础介绍 Car {Name"BYD", Price12}print("Car 的地址 --->", Car)print(Car.Name) -- 访问属性 -- print(Car:Name) 报错print(string.rep("*", 20))fun…

作者头像 李华
网站建设 2026/8/21 17:13:09

为什么越来越多人选择 IPRocket 动态IP?全面解析其核心优势

在当前的互联网环境下,无论是跨境电商、数据采集、多账号运营、海外营销,还是各类自动化项目,对 IP 资源的要求都在不断提高。IP 被封、访问异常、环境不真实,往往是项目失败的根源之一。 在尝试并对比过多家动态IP服务后&#xf…

作者头像 李华
网站建设 2026/8/21 21:05:58

14、JSTL配置与国际化操作全解析

JSTL配置与国际化操作全解析 1. Config类介绍 Config类位于 javax.servlet.jsp.jstl.core 包中,它定义了一系列静态方法,用于对不同作用域下的配置设置进行操作。以下是这些方法的详细介绍: | 方法 | 描述 | | — | — | | Object find(PageContext pc, String name…

作者头像 李华
网站建设 2026/8/21 23:10:04

PyTorch-CUDA基础镜像的轻量化裁剪版本发布

PyTorch-CUDA基础镜像的轻量化裁剪版本发布 在AI模型研发日益工业化、部署场景日趋复杂的今天,一个稳定、高效、可复现的运行环境早已不再是“锦上添花”,而是工程落地的刚性需求。从实验室里的单卡训练到云端千卡集群的分布式推理,开发者面临…

作者头像 李华
网站建设 2026/8/21 9:56:55

Vite项目配置别名路径@

vite.config.js 把/解析为src/ import { defineConfig } from "vite"; import { fileURLToPath, URL } from "node:url"; ...// https://vite.dev/config/ export default defineConfig({base: "./",plugins: [...],resolve: {alias: {"&qu…

作者头像 李华
网站建设 2026/8/21 9:27:40

自动驾驶—CARLA仿真(8)visualize_multiple_sensors demo

测试用例 PythonAPI/examples/visualize_multiple_sensors.py carla_vis_multiple_sensors这是一个 多传感器同步可视化示例,用于在 单个 Pygame 窗口中以网格布局同时显示多个传感器数据,包括: 多视角 RGB 摄像头(前、后、左、…

作者头像 李华