Vue 中img图片加载失败解决方案

在Vue应用中,本地环境下正常显示的图片在服务器上可能出现加载失败问题。这通常由于路径处理不当导致。解决方案包括使用require()处理本地文件路径,尤其是在后端返回的是图片名称而非URL时。此外,良好的前后端沟通和服务器配置也是关键,如在Webpack中针对不同环境配置图片资源路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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中图片加载失败的问题。但是最好的方式还是前后端在开发前沟通好。还有就是服务器配置方面的问题,在Vue的项目中,如果亲求图片资源的url域名少一段则需要自己在webpack中根据开发环境生产环境自己进行配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值