vue3(vite)+electron打包踩坑记录(1)

news/发布时间2024/5/24 5:24:08

vue3(vite)+electron打包踩坑记录 - 打包vue

第一步 编译vue

使用vite构建vue,package.json如下

{"name": "central-manager","private": true,"version": "0.0.0","type": "commonjs","main": "main.js","scripts": {"dev": "vite","build": "vite build","build:electron": "electron-builder","preview": "vite preview","start": "nodemon --exec electron . --watch ./ --ext .js,.html,.css,.vue"},"build": {"appId": "com.example.app","productName": "最终产品的名称","win": {"target": ["nsis","portable"]},"files": ["dist/**/*","src/**/*","data/**/*","preload/**/*","main.js"]},"dependencies": {"node-fetch": "^2.7.0","pinia": "^2.1.7","vue": "^3.3.4","vue-router": "^4.3.0","winston": "^2.4.7","winston-daily-rotate-file": "^5.0.0"},"devDependencies": {"@vitejs/plugin-vue": "^4.2.3","electron": "^28.1.1","electron-builder": "^24.12.0","nodemon": "^3.0.2","vite": "^4.4.5"}
}

执行 npm run build,编译vue项目。
遇到的问题:

Not allowed to load local resource:

我一开始认为,既然编译了vue,那么在electron中就可以使用loadFile来加载index.html

    createWindow() {// Create the browser window.this.mainWindow = new BrowserWindow({...创建窗口的其他代码// 在开发模式下加载 Vite 开发服务器// 在生产模式下加载编译后的静态文件const startUrl = process.env.NODE_ENV === 'development'? 'http://localhost:5173' // Vite dev server URL: `file://${path.join(__dirname, '../../../dist/index.html')}`;// 加载 index.htmlthis.mainWindow.loadFile(startUrl)// mainWindow.loadFile('./src/index.html')// 打开开发工具this.mainWindow.webContents.openDevTools()}

结果就是:
Not allowed to load local resource
解决方法:使用 loadUrl()

ERR_FILE_NOT_FOUND错误

然后继续报错:
Failed to load resource
B站找视频,找到解决方案。
在vite.config.js加base配置:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path';// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],base: path.resolve(__dirname, './dist/')
})

然后控制台重新执行 npm run build
发现还是和上面一样的错误。借鉴别人视频,看到vue编译后,index.html中的资源引用应该为绝对路径。我检查了一下我的index.html,发现个怪异的问题。

路径前面的盘符不知道为什么缺失。我的项目在E盘,所以我直接手动加上 E:。
成功加载:
在这里插入图片描述

第二步 打包electron

我使用的是electron-builder,执行nmp run build:electron。顺利打包出exe。

在这里插入图片描述
运行exe,没有问题,但是图标没有显示,继续琢磨。后续会更新。

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

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

相关文章

曝iPhone 16 Pro加入两款全新配色:辨识度拉满

博主Majin Bu透露,苹果为即将推出的iPhone 16 Pro系列提供全新的两款配色,分别为“沙漠钛金”和“钛灰色”两种颜色选择。 该博主表示,“沙漠钛金”类似于2022年iPhone 14 Pro上提供的金色选项,但更深更重。另一方面,“…

数字化运维与AIOps

干掉传统运维的不是devops,不是容器化,而是AI。随着未来基础设施的膨胀和复杂度急剧提升,人类运维能力已经显得力不从心。运维最终的归宿一定是人类决策,AI汇报与执行。 什么是数字化运维 数字化运维是一种基于信息技术手段数字化…

剪辑视频调色怎么让画质变得清晰 视频剪辑调色技巧有哪些方面 剪辑视频免费的软件有哪些 会声会影调色在哪里 会声会影模板素材

视频调色的作用有很多,除了进行风格化剪辑以外,还可以让作品的画质变得清晰。通过调色来增强画面的清晰度,在观感上也会显得十分自然。视频调色的技巧有很多,并且原理大都十分简单。有关剪辑视频调色怎么让画质变得清晰&#xff0…

R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术应用

回归分析是科学研究中十分重要的数据分析工具。随着现代统计技术发展,回归分析方法得到了极大改进。混合效应模型(Mixed effect model),即多水平模(Multilevel model)/分层模型(Hierarchical Model)/嵌套模…

C语言—函数

1.编写一个函数&#xff0c;通过输入一个数字字符&#xff0c;返回该数字29. /*1.编写一个函数&#xff0c;通过输入一个数字字符&#xff0c;返回该数字 */#include <stdio.h>//函数定义,返回类型为int int char_num(char c) {if(c > 0 && c < 9) //检查…

《隐私计算简易速速上手小册》第7章:隐私计算与云计算/边缘计算(2024 最新版)

文章目录 7.1 云计算中的隐私保护7.1.1 基础知识7.1.2 主要案例:使用 Python 实现云数据的安全上传和访问7.1.3 拓展案例 1:实现基于角色的访问控制7.1.4 拓展案例 2:使用 Python 保护 API 安全7.2 边缘计算的隐私问题7.2.1 基础知识7.2.2 主要案例:使用 Python 实现边缘设…

【MATLAB】 LMD信号分解+FFT傅里叶频谱变换组合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 展示出图效果 1 LMD分解算法 LMD (Local Mean Decomposition) 分解算法是一种信号分解算法&#xff0c;它可以将一个信号分解成多个局部平滑的成分&#xff0c;并且可以将高频噪声和低频信号有效地分离出来。LMD 分解算…

如何移除禁用WordPress默认小工具(附WordPress默认小工具名称)

WordPress 自带的小工具非常多&#xff0c;但是我们用到的也就那么几种&#xff0c;甚至一种都不会用到&#xff0c;所以很有必要注销&#xff08;去除&#xff09;掉一些不用的小工具。实现的方法也很简单&#xff0c;只需将以下代码&#xff0c;根据自己的情况删除需要用的小…

使用单一ASM-HEMT模型实现从X波段到Ka波段精确的GaN HEMT非线性仿真

来源&#xff1a;Accurate Nonlinear GaN HEMT Simulations from X- to Ka-Band using a Single ASM-HEMT Model 摘要&#xff1a;本文首次研究了ASM-HEMT模型在宽频带范围内的大信号准确性。在10、20和30 GHz的频率下&#xff0c;通过测量和模拟功率扫描进行了比较。在相同的频…

LeetCode76题:最小覆盖子串(python3)

代码思路&#xff1a; 1.增加j使滑动窗口增大&#xff0c;直到窗口包含了t的所有元素&#xff1b; 2.增加i使滑动窗口缩小&#xff0c;将不必要的元素排除在外,直到碰到一个必须包含的元记录此时滑动窗口的长度&#xff0c;并保存最小值&#xff1b; 3.再增加一个位置&#xff…

数据可视化引领智慧工业新时代

在智慧工业的大潮中&#xff0c;数据可视化崭露头角&#xff0c;以其直观、清晰的方式赋能工业生产&#xff0c;为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度&#xff0c;简单聊聊这个话题。 数据可视化首先在智慧工业的生产监控中大显身手。通过将…

HTML+CSS:动态搜索框

效果演示 这段代码实现了一个简单的搜索栏效果。页面背景为从天蓝色到深蓝色的渐变色&#xff0c;搜索栏包括一个圆形背景的搜索图标和一个输入框。当用户点击搜索图标时&#xff0c;输入框会从搜索图标的位置滑出&#xff0c;显示一个输入框和一个清除按钮。用户可以在输入框中…

通过盲注脚本复习sqllabs第46关 order by 注入

sql-lab-46 order by 注入是指其后面的参数是可控的&#xff0c; order by 不同于我们在 where 后的注入点&#xff0c;不能使用 union 等注入&#xff0c;其后可以跟接 报错注入 或者 时间盲注。 数字型order by注入时,语句order by2 and 12,和order by2 and 11显示的结果一…

HTML5和CSS3提高

一、HTML5的新特性 增加了一些新的标签&#xff0c;新的表单&#xff0c;新的表单属性&#xff0c;IE9以上版本的浏览器才支持 注意&#xff1a; 这些语义化标准主要针对搜索引擎的 新标签可以使用多次 在IE9中需要把这些元素转化为块级元素 新增的多媒体标签 主要包含两个…

Java设计模式 | 七大原则之里氏替换原则

OO中的继承性的思考&#xff1a; 继承包含这样一层含义&#xff1a;父类中凡是已经实现好的方法&#xff0c;实际上是在设定规范和契约&#xff0c;虽然他不强制要求所有的子类必须遵循这些契约&#xff0c;但是如果子类对这些已经实现的方法任意修改&#xff0c;就会对整个继…

记一次uniapp扫描NFC [ISO15693]

前炎 NFC的类型有很多种,详情:android NFC文档 这次的需求是读取NfcV即ISO15693类型的芯片 本次封装类本体来自uni-app NFC读取卡Id 扇门块的16进制数组 数据解析 (感谢大佬提供的封装) 本次需求原本是读取nfc的mac地址和从NEDF取数据,但后期考虑到NEDF可被读写就改成了读取…

Linux Android USB gadget(从设备驱动)

Linux Android USB gadget 一:Linux usb gadget 与 Android Composite Gadget二:原生方式和Android方式如何配置函数调用逻辑内核配置原生驱动android驱动三:mass_storage配置虚拟化U盘四:遍历usb设备五:adb usbadb_usb.ini判断usb设备为adb获取adb配置信息adb设备序列号发送与…

Springboot中如何记录好日志

Springboot中如何记录日志 日志体系整体介绍 日志一直在系统中占据这十分重要的地位&#xff0c;他是我们在系统发生故障时用来排查问题的利器&#xff0c;也是我们做操作审计的重要依据。那么如何记录好日志呢&#xff1f;选择什么框架来记录日志&#xff0c;是不是日志打越…

【深度学习笔记】3_4 逻辑回归之softmax-regression

3.4 softmax回归 Softmax回归&#xff08;Softmax Regression&#xff09;&#xff0c;也称为多类逻辑回归&#xff08;Multinomial Logistic Regression&#xff09;&#xff0c;是一种用于多分类问题的分类算法。虽然名字里面带回归&#xff0c;实际上是分类。 前几节介绍的…

Unity中URP实现水体效果(泡沫)

文章目录 前言一、给水上色1、我们在属性面板定义两个颜色2、在常量缓冲区申明这两个颜色3、在片元着色器中&#xff0c;使用深度图对这两个颜色进行线性插值&#xff0c;实现渐变的效果 二、实现泡沫效果1、采样 泡沫使用的噪波纹理2、控制噪波效果强弱3、定义_FoamRange来控制…
推荐文章