解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED
解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED
Background: 生产环境通过 Electron 直接加载本地文件系统中的静态资源

注:node后的状态码不重要
明明前端工程可以运行,后端连接也没问题,为什么打包完成后总是连不上网址?
网上常规的排错思路:
• 目标服务未运行
• 端口号配置错误
• 防火墙/安全组拦截
• 跨域策略限制
于是你耗费精力一步步来,到头发现还是没有页面,连接错误
可是你忽略了一个必要的前提:
生产环境引用的是经过 Vite 构建、压缩、哈希命名后的文件
构建后的静态资源(如.html)包含指向编译后 JavaScript 文件的引用
你想起来在打包过程中或多或少的修改或新增了一些文件,使之看似符合应有的结构
但即便自己写的代码和网上build后的长相完全一致,打包后也无法被正确引用,因为不是编译过的代码
那如何预先编译一遍所有必要的组件呢?答案很简单,使用npm命令编译一遍:
1.
Terminal: npm run build # 实际执行的是package.json里的scripts.build
2.
"name": "DXY 1st",
"version": "5.3.0",
"private": true,
"description": "DXY 666",
"author": "duandashuaige",
"scripts": {
"build": "vite build" //在你package.json中增加scripts参数
}
3.打包后会得到根目录下的dist文件夹,dist文件夹里的内容才是打包后机器可以直接引用的文件,里面有:
Assets文件夹,用来存放静态资源(js/CSS/img)
index.html,关键的入口文件,记得把路径改成引用dist里的资源
……

注意事项:build过程中对源文件已有的报错比较严格,如果没有修好某些小报错,build会失败:

修好小bug之后就可以美美build咯:

解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED的更多相关文章
- Vue自定义指令报错:Failed to resolve directive: xxx
Vue自定义指令报错 Failed to resolve directive: modle 这个报错有2个原因: 1.指令单词拼错 2.Vue.directive() 这个方法没有写在 new Vue ...
- ionic报错: Failed to load resource
隔了一天,才发现是代码写错了 出错的原因是在ts 文件中使用这样的定义 data: [] = ['高新区', '经开区', '其他园区']; 错误在于这个定义的类型,不能是 [],修改成 any就没有 ...
- Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
转自: https://blog.csdn.net/kinginblue/article/details/50753271?locationNum=14&fps=1 Nginx反向代理上传大文 ...
- Maven打包项目失败;报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project Hello: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/we
报错信息: E:\MIKEY\mikey\HTML5\TestMaven_01>mvn package [INFO] Scanning for projects... [INFO] [INFO] ...
- composer 报错:Failed to decode response: zlib_decode(): data error 解决办法
执行命令 composer require particle/validator 报错 Failed to decode response: zlib_decode(): data error 网上推 ...
- spring单元测试报错:Failed to load ApplicationContext 的解决方法
使用idea 配置单元测试之后,配置完spring的注解@junit 和@runer 之后 一直报错. 最后发现是默认使用jdk1.8引起的,使用jdk1.7即可.
- SpringBoot报错:Failed to load ApplicationContext(javax.websocket.server.ServerContainer not available)
引起条件: WebSocket+单元测试,单元测试报错! 解决方法: SpringBootTest增加webEnvironment参数. https://docs.spring.io/spring-b ...
- chrome浏览器调试报错:Failed to load resource: the server responsed width a status of 404 (Not Found)…http://127.0.0.1:5099/favicon.ico
chrome浏览器在调试的时候默认会查找根目录下的favicon.ico文件,如果不存在就会报错. 解决办法:F12,点击<top frame>左侧漏斗形状的filter,勾选上" ...
- Junit 报错: Failed to load ApplicationContext
今天在使用Junit测试时候,报了个错误: Failed to load ApplicationContext, aspect not found;挺奇怪的 我又没有调用你,之前还好好的,现在不能使用 ...
- 访问视频资源报错:Failed to load resource: net::ERR_CONNECTION_RESET
访问视频资源报错: 浏览器显示:Failed to load resource: net::ERR_CONNECTION_RESET. 原因:公司内部限制了访问外网资源,凡是视频资源都不能访问. 解决 ...
随机推荐
- SciTech-EECS-EDA-Altium Designer-FTDI FT232- Xilinx JTAG Programmer + Debugger
Origin: https://matthewtran.dev/2021/08/ftdi-xilinx-jtag-programmer/ Matthew Tran Article Literally ...
- spring-ai 学习系列(5)-MCP(webflux sse)
前面学习了stdio模式的MCP使用,可以看到这种方式局限性比较大,mcp host/mcp client/mcp server通常要在同1台机器上,使用进程间通讯.更常见的做法是,大家各自部署自己的 ...
- vue和elementui是什么关系 -九五小庞
介绍 要想知道vue和elementui之间有啥关系,首先我们必须了解vue和elementui,只有对它们有所认识,才能更好的理解它们之间的关系.本文主要针对它们之间的关系做个简短的介绍. 1.vu ...
- 信号处理__FFT变换
目录 什么是FFT 什么是傅里叶变换 FFT的过程 单侧FFT代码 什么是FFT 快速理解FFT FFT与卷积(慎入) FFT(fast Fourier transform),即快速傅里叶变换 多项式 ...
- mybati缓存
两者区别:一级缓存的作用域是在SqlSession中,二级缓存的作用域是针对mapper做缓存. SQL里边 有flushCache属性 是Boolean类型 1.当为select语句时:flushC ...
- OI 生涯记录
OI 生涯记录 初识编程 由于我很早接触到了电脑的原因,我从小对软件产生了浓厚的兴趣,幻想着自己能发明一款软件或者是游戏给别人玩,于是我便有了学习变成的想法.可惜的是,虽然我有想法,但是并没有老师指导 ...
- zpool import 和 zpool export命令管理
zpool import 和 zpool export 是 ZFS 存储池管理中的核心命令,用于在不同系统间迁移存储池或临时解除池的访问.以下详解其功能.用法及典型应用场景: ⚙️ zpool e ...
- Rust并发编程中的所有权挑战与解决方案:从实际项目看Clone策略的应用
背景现状与问题难点 在现代应用开发中,尤其是涉及异步操作和多线程处理的场景,状态管理和资源共享始终是开发者面临的核心挑战.我近期在参与一个名为Saga Reader的开源项目时,就遇到了典型的Rust ...
- vue cli mockjs
npm i -D mockjs 根目录新建 mock 文件夹 mock/utils.js const fs = require('fs'); const path = require('path'); ...
- MySQL视图、触发器
一.视图 1.什么是视图? SQL语句的执行结果是一张虚拟表 我们可以基于该表做其他操作 如果这张虚拟表需要频繁使用 那么为了方便可以将虚拟表保存起来 保存起来之后就称之为"视图" ...