vue-lazyload使用图片路径的坑!!


1、在使用vue懒加载加载图片的时候,发现在main.js引入图片时,发现图片路径找不到出错!!!

使用vue-cli脚手架快速生成的框架中,
src**同级目录**中有static文件夹
src**子文件夹**中有assets文件夹
在使用vue-lazyload,设置error或loading属性的图片路径时,

图片在assets文件夹,就需要使用require()进行引入。

Vue.use(lazyLoad, {
  error: require('./assets/img/default-photo.png'),
  loading: require('./assets/img/default-photo.png')
})

图片在static文件夹,就可以直接写路径了

Vue.use(lazyLoad, {
  error: require('../static/img/default-photo.png'),
  loading: require('../static/img/default-photo.png')
  
})

vue-lazyload是在main.js文件中引入,不会被webpack进行编译,src中的文件会被webpack编译,包括assets,assets文件夹中的图片地址,会在编译过程中改变。因此vue-lazyload无法正确获得图片地址,就不能显示图片了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM