Vue3項目中怎么引入 SVG 圖標?下面本篇文章給大家介紹一下在Vue3項目中引入iconfont圖標的方法,希望對大家有所幫助!

引言
通過之前一段時間 Express 和 Mysql 的學習
這里嘗試來搭建一個 后臺系統 來鞏固下學習的技術。
SVG 圖標
既然是頁面,肯定離不開一些圖標 icon ,所以肯定要去最全的 阿里圖標庫 來尋找
這里講解下如何將 阿里圖標庫 里面的東西,放到我們的頁面上
阿里圖標庫

進入頁面,找到 資源管理 下面的 我的項目,并創建項目
設置如下

創建好項目后,我們進入到 阿里的 素材庫 里面找一些后續需要的圖標,
并添加到 購物車 中,
將 購物車 里面的圖標添加到項目中


之前會有在線的圖標鏈接地址,讓我們進行引入即可。
但是現在沒找到,應該是得下載到本地 然后進行使用= =
那我們只能將項目里的圖標,選擇 Symbol 并 下載至本地

將其放到 src\assets\svg 目錄下
進行解壓,刪除不必要的東西,只留下 iconfont.js 文件即可

之后在 main.ts 中進行全局導入
import './assets/svg/iconfont.js'
項目中引入 svg-icon
在 src 目錄下,創建一個用于存放插件的目錄 plugin

// index.vue
<template>
<svg :class="svgClass" aria-hidden="true">
<use :xlink:href="iconClassName" :fill="color" />
</svg>
</template>
<script setup>
import { computed } from 'vue'
const props = defineProps({
iconName: {
type: String,
required: true
},
className: {
type: String,
default: ''
},
color: {
type: String,
default: '#409eff'
}
})
// 圖標在 iconfont 中的名字
const iconClassName = computed(() => {
return `#${props.iconName}`
})
// 給圖標添加上類名
const svgClass = computed(() => {
if (props.className) {
return `svg-icon ${props.className}`
}
return 'svg-icon'
})
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
position: relative;
fill: currentColor;
vertical-align: -2px;
}
</style>// index.ts
import { App } from 'vue'
import SvgIcon from './index.vue'
export function setupSvgIcon(app: App) {
app.component('SvgIcon', SvgIcon)
}之后在 main.ts 中進行注冊組件
import { setupSvgIcon } from './plugin/SvgIcon/index'
setupSvgIcon(app)在 頁面中進行使用
<template> <div> 工作臺頁面 </div> <svg-icon iconName="icon-bianjishuru" /> </template>

可以看到 SVG 圖標成功展示
總結
通過 Express-Mysql-Vue3-TS-Pinia 做出一個 后臺系統 項目
引入 阿里的 SVG 圖標到項目中。






