Heim > Web-Frontend > View.js > So verwenden Sie die SVG-Methode in vue3+vite2

So verwenden Sie die SVG-Methode in vue3+vite2

WBOY
Freigeben: 2023-05-11 17:55:06
nach vorne
1726 Leute haben es durchsucht

1. Installieren Sie vite-plugin-svg-icons

Sie müssen auch fast-glob-bezogene Abhängigkeiten installieren, andernfalls meldet Vite, dass das Modul „fast-glob“ beim Ausführen von npm run dev nicht gefunden werden konnte; Fehler

npm i fast-glob@3.x -D
npm i vite-plugin-svg-icons@2.x -D
Nach dem Login kopieren

2. Erstellen Sie eine neue Komponente index.vue

<template>
  <svg aria-hidden="true" class="svg-icon">
    <use :xlink:href="symbolId" rel="external nofollow"  :fill="color" />
  </svg>
</template>

<script setup lang="ts">
import { computed } from &#39;vue&#39;;

const props = defineProps({
  prefix: {type: String,default: &#39;icon&#39;,},
  iconClass: {type: String,required: true,},
  color: {type: String,default: &#39;&#39;}
})

const symbolId = computed(() => `#${props.prefix}-${props.iconClass}`);
</script>

<style scoped>
.svg-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  overflow: hidden;
  fill: currentColor;
}
</style>
Nach dem Login kopieren

unter src/components/svgIcon#3. Fügen Sie Einstellungen in tsconfig.json

#🎜🎜 hinzu Mit #types werden die einzubindenden Module angegeben. Es werden nur die Deklarationsdateien der hier aufgeführten Module geladen. Es ist nicht notwendig, es hinzuzufügen. Als ich zwei Demos getestet habe, wurde eine benötigt und die andere nicht. Wenn Sie Probleme haben, können Sie versuchen,

{
  "compilerOptions": {
    "types": ["vite-plugin-svg-icons/client"]
  }
}
Nach dem Login kopieren

4. Konfigurations-Plug-in in Vite hinzuzufügen .config.ts

import { resolve } from &#39;path&#39;
import { createSvgIconsPlugin } from &#39;vite-plugin-svg-icons&#39;

export default defineConfig({
  plugins: [
    createSvgIconsPlugin({
      // 指定需要缓存的图标文件夹
      iconDirs: [resolve(process.cwd(), &#39;src/assets/imgs/svg&#39;)],
      // 指定symbolId格式
      symbolId: &#39;icon-[dir]-[name]&#39;,
    })
  ]
})
Nach dem Login kopieren

5. Registrieren Sie die Komponente global in main.ts

import { createApp } from &#39;vue&#39;
import App from &#39;./App.vue&#39;
import router from &#39;@/router&#39;
import { store, key } from &#39;@/store&#39;

const app = createApp(App)

import &#39;virtual:svg-icons-register&#39; // 引入注册脚本
import SvgIcon from &#39;@/components/svgIcon/index.vue&#39; // 引入组件
app.component(&#39;svg-icon&#39;, SvgIcon)

app.use(router).use(store, key).mount(&#39;#app&#39;)
Nach dem Login kopieren

6. Verwenden Sie sie auf der Seite

<template>
  <svg-icon icon-class="category"></svg-icon>
  <svg-icon icon-class="accountant" ></svg-icon>
</template>
Nach dem Login kopieren
7. Dateiverzeichnisstruktur und ihre Wirkungsanzeige

So verwenden Sie die SVG-Methode in vue3+vite2

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die SVG-Methode in vue3+vite2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage