vue模板中对图片src的动态引入(路径)问题

本文探讨了在Vue项目中,如何正确处理从JSON文件动态加载的图片路径,避免404错误。介绍了将图片路径用require或import方式包装的方法,并解释了在不同目录结构下图片引用的正确做法。

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

在做移动端项目时,底部导航的名称和图片习惯于用json文件中引入数据。而在vue项目中,当要在中动态引入图片时,若直接从json文件中导入item.src字段为’assets/image/XX.png’的值到:src="XXX"中时,会出现图片404的情况。
如:



这么循环引入img图片,页面会报404,表明从指定的路径上去找是找不到图片的。
如何解决呢?

我们都知道,如果是import 或者 require 图片路径进来,将其保存为一个变量,然后再赋值到img标签上是没有问题的。有此可见,如果我们将json中的图片路径用import或者require的方式包装。如:src=“require(‘assets/image/my.png’)”。ok,找到解决办法了。但是我们无法在json文件中使用require或import。json是一种通用的跨平台的数据传输格式,它支持的是纯数据。好在我们可以用es6的方法,把数据存储为js文件然后export出去便可。要记住的是,此方法对于src目录下而言才是管用的。这里所谓的src是指要通过webpack打包的那个根目录。用这种方法实现,开发环境和生产环境打包都可以很好配置。
如果我们把静态图片资源存放在和src平级的目录(比如叫static)下,即不存放在webpack要打包的范围内,那么直接引入图片路径无需用import或require包装,这也是ok的。如。由于放在src目录外,它不被webpack打包进去,如此一来在部署到nginx服务器上时需要单独scp这个static目录。

作者:kup
链接:https://www.jianshu.com/p/470b0f98c8d1
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值