SVG 图标插件误读 PNG 图片 + Vite 重启缓存失效重新生成 + 浏览器严格渲染

浏览器刷新会出现满屏乱码字符,刷新成功后就会出现页面

检查Doc标签页(Chrome DevTools 里专门显示页面主文档请求 的地方,它在 Network 面板的顶部标签栏里)

发现在Preview预览当中就出现了乱码

发现Response当中HTML 源代码直接嵌入了PNG图片的二进制乱码

导致这个问题的真凶

1.首先是把png图片和svg都放在一个icons文件夹当中

2.在vite.config.ts当中写入了svgBuilder('./src/assets/icons/'),

因为 svgBuilder 只会处理 SVG 文件,但你文件夹里有 PNG 图片,它不认识 PNG,就直接把图片的二进制内容当成文本塞进页面里了 → 于是页面出现 �PNG 乱码!

svgBuilder 是干什么的?

它的作用只有一个:把 /src/assets/icons/ 里的 .svg 文件,自动变成组件,注入到页面 <body> 里。但是他只认识SVG。

解决方法

1.不修改配置文件 不要把png和svg放在一个文件夹当中,尤其是在配置文件当中svgBuilder声明的

2.修改配置文件,注释svgBuilder

总结

这个问题是在电脑关机后 重新运行这个项目产生的,是因为Vite 有缓存,电脑关机/重启都会将vite的内存缓存清理 当重新运行该项目,没有缓存了 必须重新生成,svgBuilder识别到了png图片,将二进制乱码塞进 HTML,所以就看到乱码

相关推荐
涛涛ing4 分钟前
2026年最值得关注的前端变化,藏在“默认值”里
前端
亿元程序员2 小时前
太牛了!这AI做出来的游戏,居然还能变现!
前端
hellice2 小时前
闪传 FlashDrop 实战:我用 300 行 Node 代码做了个「4 位取件码」临时文件中转站
前端·产品
用户0829773260052 小时前
RTX 5500 MIG 踩坑记录:切分之后模型跑不起来,排错整整一下午
前端
Lank_M2 小时前
AI 放大后的图更清楚,但它不能当原图入库
前端
Swot2 小时前
SvelteKit 数据流研究:`+page.js` 和 `+page.server.js` 到底谁在跑,数据又去了哪儿
前端·后端
用户4147679304152 小时前
Windows 触摸屏上 Swiper 轮播滑不动?可能是内部滚动容器抢走了你的手势
前端
张明君644512 小时前
从一个 Referer 引发的 403,到 SSR 服务失稳:Astro 流式渲染与缓存失效分析
前端
律宏阔3 小时前
微信小程序 + Taro + TDesign 去掉 [&&&],让普通 Tailwind 类接管局部样式
前端·微信小程序·taro
费曼学习法3 小时前
把 3 个内部服务封装成 MCP Server 的工程复盘:进程模型、超时与错误契约
前端