Electron Vite打包后,部分图标未显示的解决方案


背景

这个问题,弄了一晚上,头都大了,找了一堆博客也没解决。主要参考这个:https://blog.csdn.net/m0_73845616/article/details/129741099

下面讲一下我的解决方案。


解决方案

上面链接里的方法,我采用第二、三个都没有解决。第一个也需要稍作改动才能用。

  1. 第一个需要导入一个vue组件,图片用svg的话,直接将svg代码包裹在下面就行。
  2. 在使用该图片的地方,import该组件后,再用<component :is="组件名"/>代替<img :src=""/>,这样使用,打出来的包是没问题的。

    以前设置图片,是用img+一个响应式的变量,这样打包后显示不出来。

    需要改成component+is的方式,这样is设置为一个相应式变量(一个组件),也能展示出图片,最后打包出来也没有问题。

原因分析

主要原因还是vite对打包后资源的访问方式不同,静态设置的src没有问题,vite会改动相应的src原位置到相应的打包位置。但通过相应式动态设置的src,vite不会改动,最后就没有改资源的映射到路径,最后就找不到资源,无法展示。

相关推荐
To_OC7 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
To_OC7 小时前
LC 17 电话号码的字母组合:我的回溯算法,就是从这道题开窍的
javascript·算法·leetcode
vipbic8 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy8 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志8 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble9 小时前
c端系统,其实更像一个信息展示平台
前端
你怎么知道我是队长10 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
李姆斯10 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜11 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司11 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能