electron-vite打包踩坑记录

electron-vite打包踩坑记录

在这里插入图片描述

大前端已成趋势,用electron开发桌面端应用越来越普遍

近期尝试用electron+vite开发了个桌面应用,electron-vite地址,可用使用vue开发,vite打包,这样就很方便了

但是,我尝试了一下打包,发现各种坑,先记录一下

先看下package.json文件:

{"name": "easychat","version": "1.0.0","description": "An Electron application with Vue","main": "./out/main/index.js","author": "example.com","homepage": "https://electron-vite.org","scripts": {"format": "prettier --write .","lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix","start": "electron-vite preview","dev": "electron-vite dev","build": "electron-vite build","postinstall": "electron-builder install-app-deps","build:unpack": "npm run build && electron-builder --dir","build:win": "npm run build && electron-builder --win","build:mac": "npm run build && electron-builder --mac","build:linux": "npm run build && electron-builder --linux"},"dependencies": {"@electron-toolkit/preload": "^3.0.1","@electron-toolkit/utils": "^3.0.0","@imengyu/vue3-context-menu": "^1.3.8","axios": "^1.7.7","dplayer": "^1.27.1","electron-store": "^8.1.0","element-plus": "^2.8.3","express": "^4.18.2","fluent-ffmpeg": "^2.1.2","fs-extra": "^11.2.0","js-md5": "^0.8.3","moment": "^2.30.1","pinia": "^2.1.7","pinia-plugin-persistedstate": "^4.1.1","rebuild": "^0.1.2","sass": "^1.79.1","sass-loader": "^13.3.2","sqlite3": "^5.1.7","v-viewer": "^3.0.11","vue-cookies": "^1.8.3","vue-router": "^4.2.5","ws": "^8.16.0"},"devDependencies": {"@electron-toolkit/eslint-config": "^1.0.2","@rushstack/eslint-patch": "^1.10.3","@vitejs/plugin-vue": "^5.0.5","@vue/eslint-config-prettier": "^9.0.0","asarmor": "^2.0.0","electron": "^31.0.2","electron-builder": "^24.13.3","electron-vite": "^2.3.0","eslint": "^8.57.0","eslint-plugin-vue": "^9.26.0","node-gyp": "^10.0.1","prettier": "^3.3.2","vite": "^5.3.1","vue": "^3.4.30"}
}

打包成Windows下的exe文件命令为npm run build:win

一、certificate has exired or is not vet valid报错

执行打包命令:

npm run build:win

报错如下:

image-20241011090735579

从报错内容上来看,应该是从淘宝镜像下载electron压缩包时报错,报错原因是证书过期了,我看了一下我的镜像设置

镜像设置命令是:

yarn config list  

前提是全局安装了yarn命令

当前配置如下:

image-20241011091205899

很明显,electron_mirror地址用的淘宝的,所以需要更改,更改命令如下:

npm config set ELECTRON_MIRROR=https://registry.npmmirror.com/-/binary/electron/

更改后的配置如下:

image-20241011091354200

再执行打包命令,就不会出现证书过期的问题了

但是,又出现了下面的问题

二、The name of the file cannot be resolved by the system.报错

image-20241011091602278

报这个错让我百思不得其解,从报错的问题来看,报错原因是指向了node_modules,也就是包管理出了问题,因此,我换了个打包工具,用yarn来打包

yarn打包命令:

yarn run build:win

依然报相同的错

于是,我用yarn重新安装了一下包,执行命令:

yarn stall

然后再执行yarn打包命令yarn run build:win

image-20241011092249135

52秒后打包成果,打包出来的exe文件在dist目录下

image-20241011092351425

双击安装后,即可正常使用

三、图标问题

1、任务栏图标

任务栏图标在主进程中修改,按下面配置就行了

image-20241011092744581

2、桌面快捷方式更改

目前还没搞明白,后面再记录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/446932.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】并行计算(parallel computation)Part1

为什么我们在机器学习中需要用到并行计算呢,因为现在最流行的机器学习算法都是神经网络,神经网络模型的计算量、参数量都很大,比如ResNet-50参数量为25M。而我们在训练的时候使用的数据集也很大,比如ImageNet数据集含有14M张图片。…

FileInputStream类

目录 1.案例代码: 2.注意细节 3.FileInputStream循环读取 1.案例代码: 准备的txt文件 结果: 如果需要输出原本的字母,强制转换为char即可: 结果: 2.注意细节 (1)如果文件不存在…

Qt和c++面试集合

目录 Qt面试 什么是信号(Signal)和槽(Slot)? 什么是Meta-Object系统? 什么是Qt的MVC模式? 1. QT中connect函数的第五个参数是什么?有什么作用? 3. 在QT中&#xff…

【NestJS入门到精通】装饰器

目录 方法装饰器通过prototype添加属性、方法 属性装饰器拓展 方法装饰器参数装饰器 方法装饰器 ClassDecorator 定义了一个类装饰器 a,并将其应用于类 A。装饰器 a 会在类 A 被定义时执行。 const a:ClassDecorator (target:any)>{console.log(target,targe…

概率 多维随机变量与分布

一、二维 1、二维随机变量及其分布 假设E是随机试验,Ω是样本空间,X、Y是Ω的两个变量;(X,Y)就叫做二维随机变量或二维随机向量。X、Y来自同一个样本空间。 联合分布函数 F(x,y)P(X≤x,Y≤y),即F(x,y)表示求(x,y)左下方的面积。 …

Struct Streaming

spark进行实时数据流计算时有两个工具 Spark Streaming:编写rdd代码处理数据流,可以解决非结构化的流式数据 Structured Streaming:编写df代码处理数据流,可以解决结构化和半结构化的流式数据 实时计算 实时计算,通常也称为“实时流计算”、“流式计算” 流数据处…

Unity3d使用JsonUtility.FromJson读取json文件

使用JsonUtility.FromJson方法不需要额外引用第三方库。该方法只能读取json对象,而不能读取json数组。 假如我们有如下的json数组: [ {"id":1, "name":"first2021", "level":5, "score":100, "…

vue3 对 vue2 有什么优势

1、diff算法的优化--静态标记(PatchFlag) vue2中的虚拟dom是全量的对比(每个节点不论写死的还是动态的都会一层一层比较,这就浪费了大部分事件在对比静态节点上) vue3编译模板时,动态节点做标记 标记分为不…

仿函数(函数对象)

0.含义 仿函数和函数对象在C中含义一致。官方解释是: ()就是函数调用运算符,也就是说一个类重载了小括号,它实例化的对象就可以像函数一样使用。 “仿”函数,意味着它和函数使用有相同点: …

盘点双十一四款不错的品牌好物!2024学生党高颜值平价好物推荐!

在双十一这个购物狂欢节,不少学生党都希望以最实惠的价格买到心仪的商品。今天,我们就来盘点四款双十一期间值得入手的高颜值平价好物,让同学们在享受优惠的同时,也能拥有品质生活! 品牌好物一、希亦CG超声波清洗机 双…

数据中心物理安全的历史和演变

在当今的数字时代,数据中心托管已成为我们互联世界的支柱。这些设施在存储、管理和处理我们日常生活所需的大量信息方面发挥着至关重要的作用。从社交媒体平台和电子商务网站到流媒体服务和云计算,数据中心为我们依赖的数字服务提供支持。 随着企业越来…

Swarm 框架登场:OpenAI 第 3 阶段「敲门砖」;马斯克的 Teslabot 实际有人远程操控丨 RTE 开发者日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

音视频开发:FFmpeg库的使用

文章目录 一、FFmpeg的介绍二、FFmpeg的安装三、FFmpeg的使用1.ffplay:播放音视频2.ffprobe:查看视频信息3.ffmpeg:处理视频(1)格式转换(2)帮助 四、参考资料 一、FFmpeg的介绍 FFmpeg 是使用广泛的多媒体框架,是一个强大的音视频…

element el-tree 自定义图标

除了自定义以外,下方代码还包含 tree自动展开 点击节点后节点聚焦 节点的click事件 节点查询 <template><el-inputplaceholder"请输入要查询的节点"v-model"filterText"clearable></el-input><el-treehighlight-currentclass&quo…

Flink05 Windows 操作轻松应对复杂的场景

Flink Windows 操作 上篇文章介绍了Flink 几种类型 Windows 本文介绍窗口操作相关API&#xff0c;以及各自使用场景 。 本期Flink Windows 相关操作apply/union/join/collect/CoMap/CoFlatMap Windows apply 通过实现WindowFunction或AllWindowFunction接口来完成的&#x…

考研C语言程序设计_编程题相关(持续更新)

目录 零、说明一、程序设计经典编程题(C语言实现)T1 求1~100的奇数T2 求n!T3 求1!2!3!...10!T4 在一个有序数组中查找具体的某个数字n(二分查找)T5 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚T6 模拟用户登录(三次机会)T7 输入三个数 并从大到小输出T8…

大一计算机课程之线性代数

《大一计算机课程之线性代数》 在大一的计算机课程中&#xff0c;线性代数是一门极为重要的基础学科&#xff0c;它就像一把神奇的钥匙&#xff0c;为计算机科学领域的诸多方面开启了智慧之门。 线性代数主要研究线性方程组、向量空间、线性变换等内容。对于计算机专业的学生…

【星汇极客】STM32 HAL库各种模块开发之DHT11模块

前言 本人是一名嵌入式学习者&#xff0c;在大学期间也参加了不少的竞赛并获奖&#xff0c;包括&#xff1a;江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。 暑假的时候参加了太多的比赛&#…

从加载到对话:使用 Transformers 本地运行量化 LLM 大模型(GPTQ AWQ)

&#xff08;无需显卡&#xff09;使用 Transformers 在本地加载具有 70 亿参数的 LLM 大语言模型&#xff0c;通过这篇文章你将学会用代码创建属于自己的 GPT。 LLM 的加载、微调和应用涉及多个方面&#xff0c;今天我们先聚焦于加载&#xff0c;本文的难点仅在于正确安装和知…

护理陪护系统|护理陪护小程序|护理陪护软件定制

护理陪护系统是针对需要长期照护的患者和老年人开发的一套系统&#xff0c;旨在帮助用户更加方便地获取医疗、护理等服务。用户端功能是系统的重要组成部分&#xff0c;通过用户端功能的设计和开发&#xff0c;可以让用户更加方便快捷地使用系统。首先&#xff0c;用户端功能应…