這篇“vue3+vite中如何使用svg圖標(biāo)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue3+vite中如何使用svg圖標(biāo)”文章吧。
10年積累的做網(wǎng)站、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有趙縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
預(yù)加載在項(xiàng)目運(yùn)行時(shí)就生成所有圖標(biāo),只需操作一次 dom
高性能內(nèi)置緩存,僅當(dāng)文件被修改時(shí)才會(huì)重新生成
安裝
node version: >=12.0.0 vite version: >=2.0.0
yarn add vite-plugin-svg-icons -D # or npm i vite-plugin-svg-icons -D # or pnpm install vite-plugin-svg-icons -D
使用
vite.config.ts 中的配置插件
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' import path from 'path' export default () => { return { plugins: [ createSvgIconsPlugin({ // 指定需要緩存的圖標(biāo)文件夾 iconDirs: [path.resolve(process.cwd(), 'src/icons')], // 指定symbolId格式 symbolId: 'icon-[dir]-[name]', /** * 自定義插入位置 * @default: body-last */ // inject?: 'body-last' | 'body-first' /** * custom dom id * @default: __svg__icons__dom__ */ // customDomId: '__svg__icons__dom__', }), ], } }
在 src/main.js 內(nèi)引入注冊(cè)腳本
import 'virtual:svg-icons-register'
如何在組件中使用
創(chuàng)建SvgIcon組件
/src/components/SvgIcon/index.vue
icons目錄結(jié)構(gòu)
# src/icons - icon1.svg - icon2.svg - icon3.svg - dir/icon1.svg
全局注冊(cè)組件
# src/main.js import { createApp } from 'vue' import App from './App.vue' import router from './router' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import svgIcon from "@/components/SvgIcon/index.vue"; import 'virtual:svg-icons-register' createApp(App) .use(ElementPlus) .use(router) .component('svg-icon', svgIcon) .mount('#app')
頁(yè)面使用
{{ props.title }}
獲取所有 SymbolId
import ids from 'virtual:svg-icons-names' // => ['icon-icon1','icon-icon2','icon-icon3']
以上就是關(guān)于“vue3+vite中如何使用svg圖標(biāo)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。