Skip to content

YsSvgIcon 引入svg图标

建议

建议使用 unplugin-icons 和 unplugin-auto-import 从 iconify 中自动导入任何图标集。

unplugin-icons 自动引入

shell
pnpm install unplugin-icons unplugin-auto-import -D

vite.config.ts

ts
plugins: [
  AutoImport({
    resolvers: [
      ...IconsResolver({
        prefix: 'Icon'
      })
    ]
  }),
  Components({
    resolvers: [
      ...IconsResolver({
        enabledCollections: ['ep']
      })
    ]
  }),
  Icons({
    autoInstall: true,
    compiler: 'vue3'
  })
]

使用方式 icon文档链接地址

html
<i-ep-credit-card />

使用本地的 svg文件

  1. 这里使用vite-plugin-svg-icons插件完成,首先在项目根目录安装插件
shell
pnpm install vite-plugin-svg-icons -D
  1. main.ts/main.js引入
ts
import 'virtual:svg-icons-register'
  1. vite.config.ts/vite.config.js配置plugins
ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'

function resolve(dir) {
  return path.join(__dirname, dir)
}

export default defineConfig({
  plugins: [
    vue(),
    createSvgIconsPlugin({
      // 指定需要缓存的图标文件夹
      iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
      // 指定symbolId格式
      symbolId: 'ys-icon-[name]'
    })
  ]
})
  1. 配置svg图片文件夹,把.svg图片放到src/assets/icons目录

props属性

属性名说明类型可选参数是否必传
iconClasssvg名称,不加.svg后缀string--
colorfill颜色string--

示例


本地文件引入 ys-svg-icon

vue
<ys-svg-icon icon-class="svg名称" :color="#409EFF" />

unplugin-icons 自动引入

Copyright © 2013 by Elements Consulting Co.,