Vue3的vite中图片动态加载3种方式
第一种方式(适用于处理单个链接的资源文件)
import homeIcon from '@/assets/images/home/home_icon.png'
第二种方式—– 图片在src目录下
注意:这里只能通过 …/…/ 这种方式去获取路径,无法通过@/assets
/**
* 动态加载图片
* @param url
* @returns
*/
export function dynamicImg(url: string) {
//console.log('接收', url, 'SSS', import.meta.url);
//console.log('接收', url, 'SSS', window.location.href);
let img = new URL(`/src/assets/img/${url}`, window.location.href).href;
//console.log('返回', img);
return img;
}
第三种方式—- 图片在public目录下
/**
* @description: 动态加载图片 (注意:将图片放到public目录下)
* @param {*} imgUrl public目录下图片的地址:eg: /public/imgs/a.png, 则imgUrl为 ./imgs/a.png
* @return {*} 返回图片的绝对路径
*/
const loadPicture = (imgUrl) => {
let pathnameArr = location.pathname.split("/");
let realPathArr = []
pathnameArr.forEach(item =>{
if( item && item.slice(-5) !== '.html'){
realPathArr.push(item)
}
})
let realPath = location.origin + "/"
if(realPathArr.length > 0){
realPath = realPath + realPathArr.join('/') + "/"
}
return new URL(imgUrl, realPath).href;
}
总结
到此这篇关于Vue3的vite中图片动态加载3种方式的文章就介绍到这了.

