Vite 2 + Vue 3 实现 svg 图标

迁移项目发现 vue 2 + webpack 的方法到这不好使了,于是另起炉灶。记录一下这个适用 Vite 2 + Vue 3 的解决方案。

1. 先安装插件:

vite-plugin-svg-icons:GitHub文档

npm i vite-plugin-svg-icons -D
// 或
yarn add vite-plugin-svg-icons -D

2. 配置插件

vite.config.js / vite.config.ts

import viteSvgIcons from 'vite-plugin-svg-icons';
import path from 'path'; // ts如果报错 npm i @types/node -D

export default () => {
  return {
    plugins: [
      viteSvgIcons({
        // 配置你存放 svg 图标的目录
        iconDirs: [path.resolve(process.cwd(), 'src/icons/svg')],
        // 定义 symbolId 格式
        symbolId: 'icon-[dir]-[name]',
      }),
    ],
  };
};
我的 svg 文件路径

3. SvgIcon 组件实现

src/components/SvgIcon.vue






4. 在 main.js / main.ts 引入插件注册脚本

import 'vite-plugin-svg-icons/register';

5. 在 main.js / main.ts 全局注册 svg 组件

(单独在用到的组件引入也可)

import svgIcon from './components/SvgIcon.vue'
app.component('svg-icon', svgIcon)

6. 使用方法:




转载自:vite2.0-vue3如何快速实现svg图标

你可能感兴趣的:(Vite 2 + Vue 3 实现 svg 图标)