vite 官方默認(rèn)的配置,打包后會把圖片名加上 hash值,但是直接通過
:src="imgSrc"方式引入并不會在打包的時候解析,導(dǎo)致開發(fā)環(huán)境可以正常引入,打包后卻不能顯示的問題,示例如下:
打包后路徑:
<img src="static/icon/123.jpg">
實際打包后的圖片路徑:static/icon/123.hash.jpg
可以嘗試以下方法解決:
HTML:
<img :src="getSrc('123')">
JS:
const getSrc = (name) => {
const path = `/static/icon/${name}.svg`;
const modules = import.meta.globEager("/static/icon/*.svg");
return modules[path].default;
};