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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| import path from 'node:path'; import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
const root = path.resolve(__dirname, '../../');
export default function createSvgIcon(isBuild: boolean) { return createSvgIconsPlugin({ iconDirs: [ path.join(root, 'src/assets/icons/svg'), path.join(root, 'src/assets/icons/Buildings'), path.join(root, 'src/assets/icons/Business'), path.join(root, 'src/assets/icons/Device'), path.join(root, 'src/assets/icons/Document'), path.join(root, 'src/assets/icons/Others'), path.join(root, 'src/assets/icons/System'), path.join(root, 'src/assets/icons/User'), ], symbolId: 'icon-[dir]-[name]', svgoOptions: isBuild, }); } import type { ConfigEnv, PluginOption } from 'vite'; import path from 'node:path'; import createSvgIcon from './svg-icon';
const root = path.resolve(__dirname, '../../');
function plugins({ mode, command }: ConfigEnv): PluginOption[] { return [ ... createSvgIcon(command === 'build'), ]; }
export default plugins; import { defineConfig, loadEnv } from "vite"; import path from "path"; import plugins from "./.build/plugins";
export default defineConfig((cnf) => { const { mode } = cnf; const env = loadEnv(mode, process.cwd()); const { VITE_APP_ENV } = env; return { ... plugins: plugins(cnf), ... }; });
|