在Vue有时候你引用本地图片在本地环境可以正常显示,但是到了服务器上就出现资源请求失败以及无法显示的情况。
这是因为当你在元素里面绑定:src时,Vue将绑定属性的路径作为字符串输出了。
export default {
data () {
return {
img: '../../XXX/XXX/xx.png'
}
}
}
//////////
<img :src="img"> // 这种方式会先找到路径解析完在渲染图片
以上解决方法对于单个的渲染非常合适,但是如果后端是个憨批给你返回的list中img字段不是一个url而是你本地对应的图片名称,得需要用到require()方法亲求本地文件
export default {
data () {
return {
imgList:[
{
img: 'XX.png',
title: '测试'
},{
img: 'XX2.png',
title: '测试2'
}
]
}
}
}
////////////////
<div v-for="(item, index) in imgList" :key="index">
<img :src="require(`../../xxx/xxx/${item.img}`)" alt="测试">
<span>{{item.title}}</span>
</div>
在Vue应用中,本地环境下正常显示的图片在服务器上可能出现加载失败问题。这通常由于路径处理不当导致。解决方案包括使用require()处理本地文件路径,尤其是在后端返回的是图片名称而非URL时。此外,良好的前后端沟通和服务器配置也是关键,如在Webpack中针对不同环境配置图片资源路径。

652

被折叠的 条评论
为什么被折叠?



