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无法正确获得图片地址,就不能显示图片了。