From ecba3c2e7fefa21a88cd3c449b91fa45a275a368 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Thu, 24 Nov 2022 23:46:06 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E9=9D=99=E6=80=81=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=87=AA=E5=8A=A8=E5=AF=BC=E5=85=A5=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E9=9C=80=E6=89=8B=E5=8A=A8=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 53 ++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 34 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index 9e574c96e..1d40b695d 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -24,45 +24,30 @@ import { formatFlatteningRoutes } from "./utils"; import { - buildHierarchyTree, - openLink, isUrl, - storageSession + openLink, + storageSession, + buildHierarchyTree } from "@pureadmin/utils"; - -import pptRouter from "./modules/ppt"; -import homeRouter from "./modules/home"; -import ableRouter from "./modules/able"; -import listRouter from "./modules/list"; -import tableRouter from "./modules/table"; -import aboutRouter from "./modules/about"; -import errorRouter from "./modules/error"; -import guideRouter from "./modules/guide"; -import resultRouter from "./modules/result"; -import editorRouter from "./modules/editor"; -import nestedRouter from "./modules/nested"; -import flowChartRouter from "./modules/flowchart"; import remainingRouter from "./modules/remaining"; -import componentsRouter from "./modules/components"; -import formDesignRouter from "./modules/formdesign"; + +/** 自动导入全部静态路由,无需再手动引入!匹配 src/router/modules 目录(任何嵌套级别)中具有 .ts 扩展名的所有文件,除了 remaining.ts 文件 + * 如何匹配所有文件请看:https://github.com/mrmlnc/fast-glob#basic-syntax + * 如何排除文件请看:https://cn.vitejs.dev/guide/features.html#negative-patterns + */ +const modules: Record = import.meta.glob( + ["./modules/**/*.ts", "!./modules/**/remaining.ts"], + { + eager: true + } +); /** 原始静态路由(未做任何处理) */ -const routes = [ - pptRouter, - homeRouter, - ableRouter, - listRouter, - tableRouter, - aboutRouter, - errorRouter, - guideRouter, - resultRouter, - nestedRouter, - editorRouter, - flowChartRouter, - componentsRouter, - formDesignRouter -]; +const routes = []; + +Object.keys(modules).forEach(key => { + routes.push(modules[key].default); +}); /** 导出处理后的静态路由(三级及以上的路由全部拍成二级) */ export const constantRoutes: Array = formatTwoStageRoutes(