From 23f5dc9c14200b7a11010035bd69ad7f871eca3a Mon Sep 17 00:00:00 2001 From: pany <939630029@qq.com> Date: Fri, 22 Nov 2024 16:06:31 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=20svg=20icons=20?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/{svg => }/404.svg | 0 src/assets/icons/{svg => }/bug.svg | 0 src/assets/icons/{svg => }/component.svg | 0 src/assets/icons/{svg => }/dashboard.svg | 0 src/assets/icons/{svg => }/fullscreen-exit.svg | 0 src/assets/icons/{svg => }/fullscreen.svg | 0 src/assets/icons/{svg => }/keyboard-down.svg | 0 src/assets/icons/{svg => }/keyboard-enter.svg | 0 src/assets/icons/{svg => }/keyboard-esc.svg | 0 src/assets/icons/{svg => }/keyboard-up.svg | 0 src/assets/icons/{svg => }/link.svg | 0 src/assets/icons/{svg => }/lock.svg | 0 src/assets/icons/{svg => }/menu.svg | 0 src/assets/icons/{svg => }/search.svg | 0 src/assets/icons/{svg => }/unocss.svg | 0 src/main.ts | 3 --- .../{element-plus-icon => element-plus-icons}/index.ts | 2 +- src/plugins/index.ts | 6 ++++-- src/{assets/icons => plugins/svg-icons}/index.ts | 2 +- types/vue-router.d.ts | 2 +- vite.config.ts | 2 +- 21 files changed, 8 insertions(+), 9 deletions(-) rename src/assets/icons/{svg => }/404.svg (100%) rename src/assets/icons/{svg => }/bug.svg (100%) rename src/assets/icons/{svg => }/component.svg (100%) rename src/assets/icons/{svg => }/dashboard.svg (100%) rename src/assets/icons/{svg => }/fullscreen-exit.svg (100%) rename src/assets/icons/{svg => }/fullscreen.svg (100%) rename src/assets/icons/{svg => }/keyboard-down.svg (100%) rename src/assets/icons/{svg => }/keyboard-enter.svg (100%) rename src/assets/icons/{svg => }/keyboard-esc.svg (100%) rename src/assets/icons/{svg => }/keyboard-up.svg (100%) rename src/assets/icons/{svg => }/link.svg (100%) rename src/assets/icons/{svg => }/lock.svg (100%) rename src/assets/icons/{svg => }/menu.svg (100%) rename src/assets/icons/{svg => }/search.svg (100%) rename src/assets/icons/{svg => }/unocss.svg (100%) rename src/plugins/{element-plus-icon => element-plus-icons}/index.ts (83%) rename src/{assets/icons => plugins/svg-icons}/index.ts (81%) diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/404.svg similarity index 100% rename from src/assets/icons/svg/404.svg rename to src/assets/icons/404.svg diff --git a/src/assets/icons/svg/bug.svg b/src/assets/icons/bug.svg similarity index 100% rename from src/assets/icons/svg/bug.svg rename to src/assets/icons/bug.svg diff --git a/src/assets/icons/svg/component.svg b/src/assets/icons/component.svg similarity index 100% rename from src/assets/icons/svg/component.svg rename to src/assets/icons/component.svg diff --git a/src/assets/icons/svg/dashboard.svg b/src/assets/icons/dashboard.svg similarity index 100% rename from src/assets/icons/svg/dashboard.svg rename to src/assets/icons/dashboard.svg diff --git a/src/assets/icons/svg/fullscreen-exit.svg b/src/assets/icons/fullscreen-exit.svg similarity index 100% rename from src/assets/icons/svg/fullscreen-exit.svg rename to src/assets/icons/fullscreen-exit.svg diff --git a/src/assets/icons/svg/fullscreen.svg b/src/assets/icons/fullscreen.svg similarity index 100% rename from src/assets/icons/svg/fullscreen.svg rename to src/assets/icons/fullscreen.svg diff --git a/src/assets/icons/svg/keyboard-down.svg b/src/assets/icons/keyboard-down.svg similarity index 100% rename from src/assets/icons/svg/keyboard-down.svg rename to src/assets/icons/keyboard-down.svg diff --git a/src/assets/icons/svg/keyboard-enter.svg b/src/assets/icons/keyboard-enter.svg similarity index 100% rename from src/assets/icons/svg/keyboard-enter.svg rename to src/assets/icons/keyboard-enter.svg diff --git a/src/assets/icons/svg/keyboard-esc.svg b/src/assets/icons/keyboard-esc.svg similarity index 100% rename from src/assets/icons/svg/keyboard-esc.svg rename to src/assets/icons/keyboard-esc.svg diff --git a/src/assets/icons/svg/keyboard-up.svg b/src/assets/icons/keyboard-up.svg similarity index 100% rename from src/assets/icons/svg/keyboard-up.svg rename to src/assets/icons/keyboard-up.svg diff --git a/src/assets/icons/svg/link.svg b/src/assets/icons/link.svg similarity index 100% rename from src/assets/icons/svg/link.svg rename to src/assets/icons/link.svg diff --git a/src/assets/icons/svg/lock.svg b/src/assets/icons/lock.svg similarity index 100% rename from src/assets/icons/svg/lock.svg rename to src/assets/icons/lock.svg diff --git a/src/assets/icons/svg/menu.svg b/src/assets/icons/menu.svg similarity index 100% rename from src/assets/icons/svg/menu.svg rename to src/assets/icons/menu.svg diff --git a/src/assets/icons/svg/search.svg b/src/assets/icons/search.svg similarity index 100% rename from src/assets/icons/svg/search.svg rename to src/assets/icons/search.svg diff --git a/src/assets/icons/svg/unocss.svg b/src/assets/icons/unocss.svg similarity index 100% rename from src/assets/icons/svg/unocss.svg rename to src/assets/icons/unocss.svg diff --git a/src/main.ts b/src/main.ts index b536d53..9e8b4d6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,6 @@ import { router } from "@/router" import { createApp } from "vue" import "@/router/permission" // load -import { loadSvg } from "@/assets/icons" import { loadDirectives } from "@/directives" import { loadPlugins } from "@/plugins" // css @@ -21,8 +20,6 @@ const app = createApp(App) // 加载插件 loadPlugins(app) -// 加载全局 SVG -loadSvg(app) // 加载自定义指令 loadDirectives(app) diff --git a/src/plugins/element-plus-icon/index.ts b/src/plugins/element-plus-icons/index.ts similarity index 83% rename from src/plugins/element-plus-icon/index.ts rename to src/plugins/element-plus-icons/index.ts index 9a74db4..9b22128 100644 --- a/src/plugins/element-plus-icon/index.ts +++ b/src/plugins/element-plus-icons/index.ts @@ -1,7 +1,7 @@ import type { App } from "vue" import * as ElementPlusIconsVue from "@element-plus/icons-vue" -export function loadElementPlusIcon(app: App) { +export function loadElementPlusIcons(app: App) { // 注册所有 Element Plus Icon for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) diff --git a/src/plugins/index.ts b/src/plugins/index.ts index a391748..7d84900 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -1,10 +1,12 @@ import type { App } from "vue" import { loadElementPlus } from "./element-plus" -import { loadElementPlusIcon } from "./element-plus-icon" +import { loadElementPlusIcons } from "./element-plus-icons" +import { loadSvgIcons } from "./svg-icons" import { loadVxeTable } from "./vxe-table" export function loadPlugins(app: App) { loadElementPlus(app) - loadElementPlusIcon(app) + loadElementPlusIcons(app) loadVxeTable(app) + loadSvgIcons(app) } diff --git a/src/assets/icons/index.ts b/src/plugins/svg-icons/index.ts similarity index 81% rename from src/assets/icons/index.ts rename to src/plugins/svg-icons/index.ts index 433e764..9575884 100644 --- a/src/assets/icons/index.ts +++ b/src/plugins/svg-icons/index.ts @@ -2,6 +2,6 @@ import type { App } from "vue" import SvgIcon from "@/components/SvgIcon/index.vue" // Svg Component import "virtual:svg-icons-register" -export function loadSvg(app: App) { +export function loadSvgIcons(app: App) { app.component("SvgIcon", SvgIcon) } diff --git a/types/vue-router.d.ts b/types/vue-router.d.ts index 0cbfaeb..1a86473 100644 --- a/types/vue-router.d.ts +++ b/types/vue-router.d.ts @@ -9,7 +9,7 @@ declare module "vue-router" { */ title?: string /** - * 设置该路由的图标,记得将 svg 导入 @/assets/icons/svg + * 设置该路由的图标,记得将 svg 导入 @/assets/icons */ svgIcon?: string /** diff --git a/vite.config.ts b/vite.config.ts index 22115d7..081aa85 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -91,7 +91,7 @@ export default defineConfig(({ mode }) => { svgLoader({ defaultImport: "url" }), // 生成 SVG 雪碧图 createSvgIconsPlugin({ - iconDirs: [resolve(root, "src/assets/icons/svg")], + iconDirs: [resolve(root, "src/assets/icons")], symbolId: "icon-[dir]-[name]" }), // 原子化 CSS