vue3 动态加载图片资源

在Vue3项目中,使用v-for动态加载图片时遇到路径问题,由于webpack对img标签的处理导致图片加载失败。尝试将图片放入public文件夹未解决问题。最终通过在img标签中使用require引入图片模块,或者在Vue的created生命周期钩子中修改图片路径解决了问题。
摘要由CSDN通过智能技术生成

在做项目的时候使用v-for动态加载图片,此时图片加载失败,检查css样式,发现引入静态图片的路径发生改变。
原因如下:
webpack会对img标签使用file-loader进行处理,即img的路径会被webpack转换掉。
踩雷:
将图片放到public文件夹下,根据搜索的资料:public文件夹不会被webpack处理,路径不会发生改变,尝试之后没有解决该问题。
解决:
webpack在编译期间运行,会把所有的资源当作一个模块来进行处理,所以使用require引入模块进行解决
一、在标签中进行解决

<img :src="require(`@/assets/img/${item.img}`)">

通过该方法将图片作为模块引入,图片加载成功
二、在js中解决
在html挂在之前将图片路径修改,即在created(vue生命周期)中将所写数组赋值给array,对于array数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值