首页 > 其他分享 >vite-plugin-vue-images——Vite自动导入图片

vite-plugin-vue-images——Vite自动导入图片

时间:2023-07-15 17:46:12浏览次数:28  
标签:vue plugin images import vite 图片

vite-plugin-vue-images——Vite自动导入图片

在Vue2时我们经常会这样引用图片:

<img :src='require("地址")'/>

但在Vite中不支持require了,引用图片变成了下面这样:

<template>
    <img :src='imgUrl'/>
</template>
<script setup>
    import imgUrl from '地址'
</script>

每次使用图片都得import,显然耽误了大家摸鱼的时间,这时我们可以借助vite-plugin-vue-images来实现自动导入图片。

安装

yarn add vite-plugin-vue-images -D
或者
npm install vite-plugin-vue-images -D

配置

import ViteImages from 'vite-plugin-vue-images'
 plugins: [
        ViteImages({
            dirs: ['src/assets/images'], // 指明图片存放目录
            extensions: ['jpg', 'jpeg', 'png', 'svg', 'webp'], // 有效的图像扩展
            customResolvers: [], // 覆盖名称->图像路径解析的默认行为
            customSearchRegex: '([a-zA-Z0-9]+)' // 重写搜索要替换的变量的Regex。
        })
 ]

使用

<template>
    <div>
        <img :src="LayoutAvatar" />
    </div>
</template>

<script setup lang="ts">
</script>

转化为

<template>
    <div>
        <img :src="LayoutAvatar" />
    </div>
</template>

<script setup lang="ts">
import LayoutAvatar from '@/assets/images/layout/avatar.png'
</script>

注意 爽归爽,但容易发生变量冲突,慎用!

标签:vue,plugin,images,import,vite,图片
From: https://www.cnblogs.com/Cxymds/p/17556565.html

相关文章

  • vue中$set和$forceUpdate强制更新视图层的区别
    $forceUpdate原理:调用notify() 强制视图更新  $set原理:defineReactive(this.data数据,要劫持得数组索引或对象键,默认值)   建立响应式依赖  指定数据更新使用场景:如果data数据的层级过深,导致无法响应式显示解决方法一:$set()this.$set(target,key,value)解......
  • vue3 为什么使用 hooks?
    目的为了解决在组件中共享逻辑和状态的问题。 hooks提供了一种更简洁和直观的方式来共享逻辑和状态。vue3中的hooks是基于函数的组件模型,通过在函数组件内部使用特定的hook函数来实现。每个hook函数都有特定的用途,例如:useState用于创建和管理状态,useEffect用于......
  • SpringBoot+Vue3+MySQL集群 开发健康体检双系统
    第1章课程介绍试看4节|38分钟观看项目演示,熟悉大健康体检项目主要功能。掌握学习本课程的最佳方法,以及如何利用在线手册学习和答疑。第2章大健康体检项目全栈环境搭建16节|218分钟利用虚拟机或者云主机安装Linux系统和Docker环境,部署MongoDB、Redis、Minio和RabbitMQ等中......
  • 150.vuerouter中的导航钩子函数
    150.vue-router中的导航钩子函数(1)全局的钩子函数beforeEach和afterEachbeforeEach有三个参数,to代表要进入的路由对象,from代表离开的路由对象。next是一个必须要执行的函数,如果不传参数,那就执行下一个钩子函数,如果传入false,则终止跳转,如果传入一个路径,则导航到对应的......
  • 146.Vue的生命周期是什么
    146.Vue的生命周期是什么?Vue的生命周期指的是组件从创建到销毁的一系列的过程,被称为Vue的生命周期。通过提供的Vue在生命周期各个阶段的钩子函数,我们可以很好的在Vue的各个生命阶段实现一些操作。......
  • 109.vue双向数据绑定原理
    109.vue双向数据绑定原理?vue通过使用双向数据绑定,来实现了View和Model的同步更新。vue的双向数据绑定主要是通过使用数据劫持和发布订阅者模式来实现的。首先我们通过Object.defineProperty()方法来对Model数据各个属性添加访问器属性,以此来实现数据的劫持,因此当M......
  • Vuex是什么,怎么使用?
    Vuex是一个状态管理库,它为Vue应用程序提供了一个集中式的存储管理机制,用于管理不同组件之间共享的状态数据。Vuex将该状态存储在一个单一的对象树中,这使得在整个应用程序中追踪状态变化变得更加容易和可预测。当我们在一个Vue.js应用程序中编写代码时,我们会遇到以下问题:多个组件需......
  • Vue2或Vue3中实现页面锚点滚动(结合AntDesign a-steps
    核心代码 onStepChange(current){ this.current=current; document.querySelector(`[id='${current}']`).scrollIntoView({ behavior:"smooth",//定义过渡动画instant立刻跳过去smooth平滑过渡过去 block:"start",//定义垂直滚动方向的对齐start顶部(......
  • vue3项目 运行 报错 Cannot assign to "b" because it is a constant
    环境依赖node18.16.0vite4.4.4vue 3.2.47背景当前错误与环境依赖关系不大,是由于我在打包的文件写的代码错误导致的,一般情况不会有这个错报错信息X[ERROR]Cannotassignto"b"becauseitisaconstantThesymbol"b"wasdeclaredaconstanthere:原因将r......
  • vue前端异步请求,数据拿的太慢,页面无法渲染
    vue中发送请求,拿到数据后打开弹窗进行页面渲染,问题:请求速度太慢,弹窗没有数据,解决:使用async和await进行同步请求 async用在方法上,await放在请求前,表示阻塞 ......