vite动态导入图片

news/2024/12/2 12:40:46/

最近在写移动端的项目时,需要用到轮播图图片数据,以前在使用vue脚手架的时候,由于集成的是webpack,可以直接使用require导入图,现在使用了vue3+ts+vite,require只在webpack生效,导致使用require引入图片时报错 require is not defined ...

解决办法:使用vite官网提供的方法,官网这里说的很清楚 动态URL导入使用new URL

静态资源处理 | Vite 官方中文文档 

所以这里决定使用vite的官方方法进行尝试

首先将静态资源都存放在assets/images目录下,依照模块划分

 

其次在utils文件夹或者hooks文件夹下新建一个文件useImageUrl.ts

由于是动态导入,图片格式,文件夹,文件名称都是动态的,所以需要写一个函数支持三个参数,文件名称,格式,文件夹,然后return出去

const useImageUrl = (folder: string = '', name: string, type: string = 'png'): string => {/*** @method vite动态引入图片* @params folder 文件夹名称 name 文件名称 type 文件格式 一般为png/jpg/webp/gif等...* @returns 图片*/return new URL(`../assets/images/${folder}/${name}.${type}`, import.meta.url).href
}
export default useImageUrl

 比如我需要使用home文件下 banner1-3的png图片,只需要在home.vue引入useImageUrl 函数

<template><div class="home" ref="homeRef"><div class="banner"><van-swipe :autoplay="3000" lazy-render><van-swipe-item v-for="image in images" :key="image"><img :src="image" /></van-swipe-item></van-swipe></div></div>
</template> import useImageUrl from '@/hooks/useImageUrl'const images = ref([useImageUrl('home', 'banner1', 'png'), useImageUrl('home', 'banner2', 'png'), useImageUrl('home', 'banner3', 'png')])

如图 图片导入已完成 


http://www.ppmy.cn/news/247865.html

相关文章

python读取.hdr格式高动态图片

总结了两种在python中读取.hdr图片的方法 imageio读取.hdr import imageioimageio.plugins.freeimage.download() img imageio.imread(hdr_path, formatHDR-FI)opencv读取 import cv2img cv2.imread(hdr_path, flags cv2.IMREAD_ANYDEPTH) cv2.imshow(1,img) cv2.waitKey…

Android 各种图片格式

目前android支持的5种图片格式&#xff0c;就是svg、png、webp、jpeg、gif、bmp。使用最多的还是png格式&#xff0c;因为支持RGB三色和透明度设置&#xff0c;可以设置很好的logo效果。SVG格式&#xff0c;则是因为体积小&#xff0c;这个对于压缩包大小很有利&#xff0c;而且…

各种图片格式之间的差别

图片格式之间的差别 jpg与jpeg 其优点为兼容性高、传输速度快、内存小。它是一种有损压缩方案&#xff0c;可在保持较高图片质量的前提下&#xff0c;被压缩到原图内存的二十分之一大小&#xff0c;令细节和质量流失。但同时文件比较小&#xff0c;一些相机能够拍不同画质的 J…

文件格式、后缀名、图片格式详解

常见的文件后缀名 .ACA&#xff1a;Microsoft的代理使用的角色文档 .acf&#xff1a;系统管理配置 .acm&#xff1a;音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能 .aif&#xff1a;声音文件&#xff0c;支持压缩&#xff0c;可以使用WindowsMediaP…

matlab 动态显示图片,Matlab动态绘图、展示并保存的一种方法

如何直观地展示某个函数图像随函数中包含的某个参数的变化呢?Matlab可以! 下图直观的展示了是sin(ax)的函数图像随参数a是如何变化的。 来,直接上Matlab代码。 具体某些代码的作用,看代码后面的注释!num = 200;% 参数a的个数,及组成GIF图的总图片个数 a_list = linspace(…

图片格式转换工具(ReaConverter Pro)中文免费版 v7.441

ReaConverter Pro是一款非常好用的图片格式转换工具&#xff0c;可以将图片转换为PNG&#xff0c;JPG&#xff0c;TIF或BMP等多种其他格式&#xff0c;使用基于资源管理器的布局来查找和访问图片&#xff0c;支持批处理&#xff0c;也支持在大量文件格式之间转换&#xff0c;无…

Unity动态加载本地图片

Unity运行时动态加载本地图片 一、Unity运行时加载本地文件夹下所有图片的方法&#xff0c;用于在使用图片前加载完成 using System; using System.IO; using System.Collections; using System.Collections.Generic; using UnityEngine;/// <summary> /// IO加载本地图…

动态修改svg图片颜色

使用场景 引入颜色为纯色的svg图片时&#xff0c;动态修改svg图片填充颜色。引入的方式包括直接svg代码引用和img标签间接引用。 直接引用SVG 如果通过svg代码的方式引入图片&#xff0c;那么可以直接修改fill属性动态修改颜色。代码如下 <style>svg:hover{fill: #fa0…