最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vite+vue3項(xiàng)目中svg圖標(biāo)組件封裝的過(guò)程詳解

 更新時(shí)間:2024年03月18日 09:59:45   作者:慢慢雨夜  
這篇文章主要介紹了vite+vue3項(xiàng)目中svg圖標(biāo)組件封裝的過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

一、安裝插件

npm i vite-plugin-svg-icons -D

二、插件配置

// vite.config.js
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import path from "path";
export default defineConfig({
  plugins: [
    // svg圖標(biāo)配置項(xiàng)
    createSvgIconsPlugin({
      // 指定需要緩存的圖標(biāo)文件夾
      iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
      // 指定symbolId格式
      symbolId: "icon-[dir]-[name]",
    }),
    // ------ 其他配置項(xiàng) ------
  ],
});

三、引入注冊(cè)腳本

// src/main.js
import 'virtual:svg-icons-register'

四、封裝組件

在src/components目錄下創(chuàng)建一個(gè)SvgIcon.vue文件

// src/components/SvgIcon.vue
<template>
    <svg aria-hidden="true" :style="{
        width: width + 'px',
        height: height + 'px'
    }">
        <use :xlink:href="symbolId" rel="external nofollow"  :fill="color" />
    </svg>
</template>
<script setup>
import { computed } from 'vue';
const props = defineProps({
    prefix: {
        type: String,
        default: 'icon',
    },
    name: {
        type: String,
        required: true,
    },
    color: {
        type: String,
        default: 'currentColor',
    },
    width: {
        type: [Number, String],
        default: '24',
    },
    height: {
        type: [Number, String],
        default: '24',
    },
})
const symbolId = computed(() => `#${props.prefix}-${props.name}`);
</script>

五、icons 文件目錄結(jié)構(gòu)

# src/assets/icons
- icon1.svg
- icon2.svg
- icon3.svg
- dir/icon1.svg

六、在頁(yè)面中使用

<template>
<!-- color 不傳值 svg顏色會(huì)繼承上級(jí)元素color屬性值 -->
<svgIcon name="mine" color="#333" width="36" height="36"></svgIcon>
</template>
<script setup>
import svgIcon from "@/components/SvgIcon.vue"
</script>

七、svg圖標(biāo)顏色不生效解決方案

如果svg圖標(biāo)設(shè)置顏色值不生效,點(diǎn)擊 svg文件 查看源碼,修改 fill 屬性值為 fill=“currentColor”或者 fill="" 。

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#FFFFFF;} // 就是這里把這個(gè)#ffffff改成""或者"currentColor"。
</style>
  <path class="st0"
    d="M912.051527 151.150632l-286.624817 780.499041c-5.753719 15.667798-23.118384 23.704707-38.786182 17.950989a30.220937 30.220937 0 0 1-19.305944-22.909364L498.23787 550.442426a30.220937 30.220937 0 0 0-24.265655-24.265655L97.723343 457.080057c-16.415729-3.014425-27.279412-18.766366-24.264987-35.182094a30.220937 30.220937 0 0 1 19.306612-22.910032L873.263342 112.363782c15.669134-5.753719 33.033799 2.28319 38.786849 17.951656a30.220937 30.220937 0 0 1 0 20.835194zM826.833582 205.907791a7.555234 7.555234 0 0 0-9.679684-9.650301l-573.559491 207.092476a7.555234 7.555234 0 0 0 1.149942 14.527205l297.554613 56.790594a7.555234 7.555234 0 0 1 6.020837 6.087616L603.515031 788.626754a7.555234 7.555234 0 0 0 14.549911 1.210044L826.83425 205.908459z" />
</svg>;

到此這篇關(guān)于vite+vue3項(xiàng)目中svg圖標(biāo)組件封裝的文章就介紹到這了,更多相關(guān)vite vue3封裝svg組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)的雙向數(shù)據(jù)綁定操作示例

    vue實(shí)現(xiàn)的雙向數(shù)據(jù)綁定操作示例

    這篇文章主要介紹了vue實(shí)現(xiàn)的雙向數(shù)據(jù)綁定操作,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了vue.js進(jìn)行數(shù)據(jù)雙向綁定操作的常見實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Vite項(xiàng)目Nginx子路徑部署全攻略

    Vite項(xiàng)目Nginx子路徑部署全攻略

    本文介紹了解決Vite項(xiàng)目部署到Nginx路徑后后后后頁(yè)面空白、資源加載失敗問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • vite項(xiàng)目無(wú)法使用zangodb包裝器的解決方案

    vite項(xiàng)目無(wú)法使用zangodb包裝器的解決方案

    vite作為新一代工具鏈,具有很多便利之處,配置也非常簡(jiǎn)單,它很好地整合了Rollup和其他復(fù)雜的構(gòu)建項(xiàng),并提供了多種方向的典型腳手架模板,深受大家喜愛,本文給大家介紹了如何解決vite項(xiàng)目無(wú)法使用zangodb包裝器的問(wèn)題,需要的朋友可以參考下
    2023-10-10
  • VUE+Express+MongoDB前后端分離實(shí)現(xiàn)一個(gè)便簽墻

    VUE+Express+MongoDB前后端分離實(shí)現(xiàn)一個(gè)便簽墻

    這篇文章主要介紹了VUE+Express+MongoDB前后端分離實(shí)現(xiàn)一個(gè)便簽墻,需要的朋友可以參考下
    2021-04-04
  • Vue使用antd中input組件去驗(yàn)證輸入框輸入內(nèi)容(rules?案例)

    Vue使用antd中input組件去驗(yàn)證輸入框輸入內(nèi)容(rules?案例)

    這篇文章主要介紹了Vue使用antd中input組件去驗(yàn)證輸入框輸入內(nèi)容-rules-案例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題

    Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題

    本文主要介紹了Vue+Element-ui表單resetFields無(wú)法重置問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • element el-table實(shí)現(xiàn)多級(jí)表頭的代碼

    element el-table實(shí)現(xiàn)多級(jí)表頭的代碼

    多級(jí)表頭的作用與優(yōu)勢(shì),多級(jí)表頭能夠清晰地展示數(shù)據(jù)的層次結(jié)構(gòu),幫助我們更好地理解數(shù)據(jù)之間的關(guān)系,下面通過(guò)本文給大家介紹element el-table實(shí)現(xiàn)多級(jí)表頭的代碼,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • easycom模式開發(fā)UNI-APP組件調(diào)用必須掌握的實(shí)用技巧

    easycom模式開發(fā)UNI-APP組件調(diào)用必須掌握的實(shí)用技巧

    uni-app基于VUE開發(fā),通常組件的使用都是先安裝,然后全局或者局部引入,注冊(cè),今天通過(guò)本文給大家分享easycom模式開發(fā)UNI-APP組件調(diào)用必須掌握的實(shí)用技巧,需要的朋友一起看看吧
    2021-08-08
  • 探討Vue.js的組件和模板

    探討Vue.js的組件和模板

    指令是Vue.js中一個(gè)重要的特性, 主要提供了一種機(jī)制將數(shù)據(jù)的變化映射為DOM行為。下面通過(guò)本文給大家分享Vue.js的組件和模板,需要的朋友參考下吧
    2017-10-10
  • vue3在自定義hooks中使用useRouter報(bào)錯(cuò)的解決方案

    vue3在自定義hooks中使用useRouter報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了vue3在自定義hooks中使用useRouter報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論

理塘县| 台江县| 宁阳县| 绵阳市| 界首市| 巫溪县| 巴林左旗| 会理县| 武清区| 红原县| 盐池县| 吕梁市| 外汇| 灵寿县| 凌海市| 七台河市| 灯塔市| 中西区| 碌曲县| 泽普县| 冷水江市| 巴中市| 类乌齐县| 屏东县| 水城县| 贵溪市| 赞皇县| 阳新县| 漠河县| 府谷县| 防城港市| 巴东县| 枣庄市| 闸北区| 施甸县| 磐安县| 贺州市| 扎赉特旗| 嫩江县| 古丈县| 互助|