From e95d883c2302019b60c818054ec7f472013d9226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Wed, 22 Oct 2025 13:22:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(layout):=20=E4=BC=98=E5=8C=96=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=E8=8F=9C=E5=8D=95=E7=94=9F=E6=88=90=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=B9=B6=E5=A2=9E=E5=BC=BA=E7=B1=BB=E5=9E=8B=E5=AE=89?= =?UTF-8?q?=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 5 +- src/layouts/base-layout/base-layout-sider.vue | 73 ++++++++----------- src/pages/demos/index.page.vue | 2 +- src/plugins/router-plugin.ts | 16 ++-- 4 files changed, 42 insertions(+), 54 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 45d3f36..54e0f92 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -16,5 +16,8 @@ "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "esbenp.prettier-vscode", + + "typescript.tsdk": "node_modules/typescript/lib", + "typescript.preferences.autoImportFileExcludePatterns": ["vue-router/auto$"] } diff --git a/src/layouts/base-layout/base-layout-sider.vue b/src/layouts/base-layout/base-layout-sider.vue index 189fe55..be8c708 100644 --- a/src/layouts/base-layout/base-layout-sider.vue +++ b/src/layouts/base-layout/base-layout-sider.vue @@ -1,10 +1,10 @@ - diff --git a/src/pages/demos/index.page.vue b/src/pages/demos/index.page.vue index 9cfd2ac..369e437 100644 --- a/src/pages/demos/index.page.vue +++ b/src/pages/demos/index.page.vue @@ -1,4 +1,4 @@ - + diff --git a/src/plugins/router-plugin.ts b/src/plugins/router-plugin.ts index 41598a3..fc33c32 100644 --- a/src/plugins/router-plugin.ts +++ b/src/plugins/router-plugin.ts @@ -2,7 +2,7 @@ import { DataLoaderPlugin } from 'unplugin-vue-router/data-loaders'; import { setupLayouts } from 'virtual:meta-layouts'; // import { createGetRoutes, setupLayouts } from 'virtual:generated-layouts'; import { createRouter, createWebHistory } from 'vue-router'; -import { handleHotUpdate, routes } from 'vue-router/auto-routes'; +import { routes, handleHotUpdate } from 'vue-router/auto-routes'; const setupLayoutsResult = setupLayouts(routes); const router = createRouter({ @@ -14,12 +14,10 @@ const router = createRouter({ strict: true, }); -if (__DEV__) Object.assign(globalThis, { router }); router.onError((error) => { console.debug('🚨 [router error]:', error); }); -export { router, setupLayoutsResult }; export function install({ app }: { app: import('vue').App }) { app // 在路由之前注册插件 @@ -37,12 +35,8 @@ export function install({ app }: { app: import('vue').App }) { Object.assign(globalThis, { stack: createStackGuard(router) }); } -/* -definePage({ - meta: { }, -}); - */ declare module 'vue-router' { + /* definePage({ meta: { title: '示例演示' } }); */ interface RouteMeta { /** * @description 是否在菜单中隐藏 @@ -60,7 +54,11 @@ declare module 'vue-router' { } } +export { router, setupLayoutsResult }; export { createGetRoutes } from 'virtual:meta-layouts'; +if (__DEV__) Object.assign(globalThis, { router }); // This will update routes at runtime without reloading the page -if (import.meta.hot) handleHotUpdate(router); +if (import.meta.hot) { + handleHotUpdate(router); +}