From 2760dfb18850a5846c712c69bb34f23b5ad22683 Mon Sep 17 00:00:00 2001 From: panda <1565636758@qq.com> Date: Fri, 28 Mar 2025 10:45:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=99=E6=80=81=E8=B7=AF=E7=94=B1=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E8=87=AA=E5=8A=A8=E5=AF=BC=E5=85=A5modules=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E6=89=80=E6=9C=89ts=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E4=BE=BF=E4=BA=8E=E9=A1=B9=E7=9B=AE=E6=96=B0=E5=A2=9E=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=B7=AF=E7=94=B1=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E4=B8=8E=E9=A1=B9=E7=9B=AE=E4=BA=A7=E7=94=9F?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index b818421c2..f3771add2 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,13 +1,40 @@ import type { App } from 'vue' import type { RouteRecordRaw } from 'vue-router' import { createRouter, createWebHistory } from 'vue-router' -import remainingRouter from './modules/remaining' + +// 自动导入modules目录下的所有静态路由,项目可以按模块分类增加路由文件 +// by panda 25.03.21 +const loadRouters = async (): Promise => { + const modules: any = import.meta.glob('./modules/*.ts') + const allRouters: RouteRecordRaw[] = [] + + try { + // 等待所有模块加载完成 + const loadedModules = await Promise.all( + Object.values(modules).map((importFn: () => Promise) => importFn()) + ) + + loadedModules.forEach((module) => { + if (Array.isArray(module.default)) { + allRouters.push(...module.default) + } else { + console.warn('Module does not export an array of routes:', module) + } + }) + } catch (error) { + console.error('Error loading route modules:', error) + } + + return allRouters +} + +const allRouters = await loadRouters() // 创建路由实例 const router = createRouter({ history: createWebHistory(import.meta.env.VITE_BASE_PATH), // createWebHashHistory URL带#,createWebHistory URL不带# strict: true, - routes: remainingRouter as RouteRecordRaw[], + routes: allRouters, //自动导入的所有静态路由 by panda 25.03.21 scrollBehavior: () => ({ left: 0, top: 0 }) }) -- Gitee