feat: 去除unplugin-icons插件相关逻辑,引入vite-plugin-svg-icons插件封装SvgIcon组件

This commit is contained in:
rd
2025-07-18 11:08:09 +08:00
parent 6c2b3b557e
commit 69c7415aea
15 changed files with 69 additions and 37 deletions

View File

@ -1,5 +1,5 @@
import { configUnocss } from './plugins';
import { configAutoImport, configComponents, configIcons } from './unplugin';
import { configAutoImport, configComponents,configIcons } from './unplugin';
import viteCompression from 'vite-plugin-compression';
import progress from 'vite-plugin-progress';
import defineOptions from 'unplugin-vue-define-options/vite';

View File

@ -1,14 +1,9 @@
/*
* @Author: RenXiaoDong
* @Date: 2025-06-24 16:29:10
*/
/**
* 自动引入API
* */
import AutoImport from 'unplugin-auto-import/vite';
import { ArcoResolver } from 'unplugin-vue-components/resolvers';
import IconsResolver from 'unplugin-icons/resolver';
import { layoutsResolver } from '../utils';
@ -31,9 +26,6 @@ export function configAutoImport() {
enable: true,
},
}),
IconsResolver({
enabledCollections: [],
}),
layoutsResolver(),
],
eslintrc: {

View File

@ -5,7 +5,6 @@ import { kebabCase } from 'unplugin-vue-components';
import Components from 'unplugin-vue-components/vite';
import { ArcoResolver } from 'unplugin-vue-components/resolvers';
import IconsResolver from 'unplugin-icons/resolver';
import { getSep, getPath, setResolve, layoutsResolver } from '../utils';
@ -20,11 +19,6 @@ export function configComponents() {
},
sideEffect: true,
}),
IconsResolver({
prefix: false,
customCollections: ['i'],
enabledCollections: [],
}),
layoutsResolver(),
{
type: 'component',

View File

@ -1,14 +1,14 @@
/**
* 自动引入 svg 图标
* */
import Icons from 'unplugin-icons/vite';
import { FileSystemIconLoader } from 'unplugin-icons/loaders';
// /**
// * 自动引入 svg 图标
// * */
import { resolve } from '../utils';
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
export function configIcons() {
return Icons({
compiler: 'vue3',
customCollections: {
i: FileSystemIconLoader('./src/assets', (svg) => svg.replace(/^<svg /, '<svg class="eo-i" ')),
},
});
}
return createSvgIconsPlugin({
iconDirs: [resolve( "src/assets/svg")],
symbolId: "icon-[dir]-[name]",
})
};