vue3+vite使用svg圖片方式
一、下載插件
yarn add vite-plugin-svg-icons -D // or npm i vite-plugin-svg-icons -D
二、配置
1、vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
export default defineConfig({
plugins: [
vue(),
createSvgIconsPlugin({
// 指定需要緩存的圖標(biāo)文件夾
iconDirs: [path.resolve(process.cwd(), 'src/assets/icon/svg')],
// 指定symbolId格式
symbolId: '[name]',
}),
]
})2、在src/assets目錄中添加icon/svg目錄
svg格式的圖片放在src/assets/icon/svg/下
3、src/components目錄下
創(chuàng)建icon/icon-component.vue文件,
代碼:
<template>
<!-- aria-hidden:默認(rèn)為false,設(shè)置為true表示會(huì)把整個(gè)元素包括子元素從可訪問樹(AOM)上移除,但是在DOM樹上還是存在的 -->
<!-- fill:如果在動(dòng)畫接收還需要保持動(dòng)畫的值,可用于設(shè)置顏色 -->
<svg :class="'svg-icon ' + ($attrs.iconClass ? $attrs.iconClass : '')" aria-hidden="true">
<use class="svg-use" :href="'#' + $attrs.iconName" rel="external nofollow" />
</svg>
</template>
<script setup>
import { defineComponent, computed } from 'vue'
// 可以打印所有注冊的svg圖標(biāo)
// import ids from 'virtual:svg-icons-names'
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
fill: currentColor;
vertical-align: middle;
}
</style>4、main.ts
import SvgIcon from './components/icon/icon-component.vue'
import 'virtual:svg-icons-register'
const app = createApp(App);
app.component('svg-icon', SvgIcon)
app.mount('#app')三、使用svg圖片
<svg-icon iconName="svg圖片的名字"></svg-icon>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue3+vite實(shí)現(xiàn)使用svg可改變顏色的全過程
- vite+vue3項(xiàng)目中svg圖標(biāo)組件封裝的過程詳解
- vue3+vite項(xiàng)目中顯示SVG圖片的實(shí)現(xiàn)
- vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標(biāo)的方法
- vite+vue3項(xiàng)目中使用SVG方式
- vue3+vite+ts?通過svg-sprite-loader?插件使用自定義圖標(biāo)的詳細(xì)步驟
- vue3+vite2中使用svg的方法詳解(親測可用)
- Vue3中級(jí)指南之如何在vite中使用svg圖標(biāo)詳解
相關(guān)文章
Vue+Element的后臺(tái)管理框架的整合實(shí)踐
本文主要介紹了Vue+Element的后臺(tái)管理框架,在框架上,領(lǐng)導(dǎo)要用AdminLTE這套模板,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
vue?使用el-table循環(huán)輪播數(shù)據(jù)列表的實(shí)現(xiàn)
這篇文章主要介紹了vue?使用el-table循環(huán)輪播數(shù)據(jù)列表的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vue中多路由表頭吸頂實(shí)現(xiàn)的幾種布局方式
這篇文章主要介紹了vue項(xiàng)目多路由表頭吸頂實(shí)現(xiàn)的幾種布局方式,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
詳解 vue better-scroll滾動(dòng)插件排坑
本篇文章主要介紹了詳解 vue better-scroll滾動(dòng)插件排坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
解決vue接口數(shù)據(jù)賦值給data沒有反應(yīng)的問題
今天小編就為大家分享一篇解決vue接口數(shù)據(jù)賦值給data沒有反應(yīng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
Vue如何使用js-audio-recorder插件實(shí)現(xiàn)錄音功能并將文件轉(zhuǎn)成wav上傳
這篇文章主要給大家介紹了關(guān)于Vue如何使用js-audio-recorder插件實(shí)現(xiàn)錄音功能并將文件轉(zhuǎn)成wav上傳的相關(guān)資料,文中通過示例代碼講解了彈窗界面、變量控制、錄音啟動(dòng)與停止、波形可視化、文件上傳及WAV格式獲取的完整流程,需要的朋友可以參考下2025-06-06

