Skip to content

Icon

Svg图标封装

配置

安装依赖。插件仓库地址

ts
pnpm add -D vite-plugin-svg-icons

vite 配置

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

export function configSvgIconsPlugin(isBuild: boolean) {
  const svgIconsPlugin = createSvgIconsPlugin({
    iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
    svgoOptions: isBuild,
    symbolId: 'icon-[dir]-[name]'
  })
  return svgIconsPlugin
}

main.ts

tex
// 引入插件
import 'virtual:svg-icons-register'

使用

阿里图标库Arco图标库字节跳动图标库Bootstrap图标库下载的svg放到在src/assets/icons文件夹中

TIP

如果size和颜色不能正确显示的时候需要确定svg文件中的fill/width/height属性有没有去掉

vue
<n-icon name="setting" />
<n-icon name="setting" size="20px"/>

如果说你配置的文件夹src/assets/icons下有子级文件夹,比如说src/assets/icons/menussrc/assets/icons/layouts,那么在设置NIcon图标名称的时候name需要加上子级文件夹的名称用-隔开。

示例:

vue
<n-icon name="layouts-setting" />

Props

NameDescriptionTypeOptionsDefault
name图标名称string--
size图标大小`stringnumber`-
spin是否启用旋转模式boolean-false
color图标颜色string--

粤ICP备2022017444号