목차
vite-plugin-svg-icons
웹 프론트엔드 View.js vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석

vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석

Apr 28, 2022 am 10:48 AM
vue svg vue3 vite

svg 이미지는 프로젝트에서 널리 사용됩니다. 이번 글에서는 vue3 + vite에서 svg 아이콘을 사용하는 방법을 소개하겠습니다.

vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석

vite-plugin-svg-icons

  • Preloading 프로젝트 실행 시 모든 아이콘 생성, DOM은 한 번만 작동하면 됩니다
  • 고성능 캐시 내장, 파일이 수정되어야 다시 생성됩니다

(학습 영상 공유: vuejs tutorial)

Installation

node 버전: >=12.0.0 vite 버전: > = 2회

SvgIcon 구성 요소 만들기

/src/comComponents/SvgIcon/index.vue

    1

    2

    3

    4

    5

    yarn add vite-plugin-svg-icons -D

    # or

    npm i vite-plugin-svg-icons -D

    # or

    pnpm install vite-plugin-svg-icons -D

    로그인 후 복사

icons 디렉터리 구조

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'

import path from 'path'

 

export default () => {

  return {

    plugins: [

      createSvgIconsPlugin({

        // 指定需要缓存的图标文件夹

        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__',

      }),

    ],

  }

}

로그인 후 복사

  • 글로벌 등록 컴포넌트

  • 1

    import 'virtual:svg-icons-register'

    로그인 후 복사

    페이지 사용법
  • 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    <template>

      <svg aria-hidden="true" class="svg-icon" :width="props.size" :height="props.size">

        <use :xlink:href="symbolId" :fill="props.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: '#333'

      },

      size: {

        type: String,

        default: '1em'

      }

    })

     

    const symbolId = computed(() => `#${props.prefix}-${props.name}`)

    </script>

    로그인 후 복사

모든 SymbolId 가져오기
  • 1

    2

    3

    4

    5

    6

    # src/icons

     

    - icon1.svg

    - icon2.svg

    - icon3.svg

    - dir/icon1.svg

    로그인 후 복사
    (동영상 공유 학습: 웹 프론트엔드 개발, 프로그래밍 입문)
)

    위 내용은 vue3+vite에서 svg 아이콘을 사용하는 방법에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    뜨거운 기사 태그

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    vue에서 echart를 사용하는 방법 vue에서 echart를 사용하는 방법 May 09, 2024 pm 04:24 PM

    vue에서 echart를 사용하는 방법

    vue에서 내보내기 기본값의 역할 vue에서 내보내기 기본값의 역할 May 09, 2024 pm 06:48 PM

    vue에서 내보내기 기본값의 역할

    Vue에서 지도 기능을 사용하는 방법 Vue에서 지도 기능을 사용하는 방법 May 09, 2024 pm 06:54 PM

    Vue에서 지도 기능을 사용하는 방법

    vue에서 이벤트와 $event의 차이점 vue에서 이벤트와 $event의 차이점 May 08, 2024 pm 04:42 PM

    vue에서 이벤트와 $event의 차이점

    vue에서 onmounted의 역할 vue에서 onmounted의 역할 May 09, 2024 pm 02:51 PM

    vue에서 onmounted의 역할

    vue에서 내보내기와 내보내기 기본값의 차이점 vue에서 내보내기와 내보내기 기본값의 차이점 May 08, 2024 pm 05:27 PM

    vue에서 내보내기와 내보내기 기본값의 차이점

    Vue의 후크는 무엇입니까 Vue의 후크는 무엇입니까 May 09, 2024 pm 06:33 PM

    Vue의 후크는 무엇입니까

    vue에 마운트된 것은 반응의 수명 주기에 해당합니다. vue에 마운트된 것은 반응의 수명 주기에 해당합니다. May 09, 2024 pm 01:42 PM

    vue에 마운트된 것은 반응의 수명 주기에 해당합니다.

    See all articles