Vue——解决图片不显示的问题(也就是项目的资源打包问题)

221 阅读1分钟

疑惑:

vue项目中在data设置图片路径,template标签引入后,页面无法显示图片,浏览器控制台报错,路径没问题。

如何在data中引用本地图片:

错误的点:

想通过data里的引入路径 ,再:src绑定,直接把"./QQ图片20220906010434.png"放到data中

image.png

但是这样会导致图片不显示(并且控制台会报错):

image.png

图片不显示的原因:webpack打包无法解析(也就是因为Vue里动态生成的路径无法被url-loader解析到)

如何让它正确的显示:

image.png

1.直接在模板上通过src="./QQ图片20220906010434.png"是没有问题的

image.png

2.通过import将图片源路径引入,然后再放到data中。

image.png

原理分析图:

原理:项目中的本地资源打包时,webpack打包时遇到了import或者是白浅内部直接写路径时,都会启用file-loader等去加载资源,如果把图片等本地资源的路径写在data中,然后页面使用,因为webpack不会读取data(因为data中的数据随时可能在改变,webpack一直打包,性能会很不好,影响效率),所以不会打包资源

image.png