123456789101112131415161718192021222324252627282930313233343536 |
- import type { RouteRecordRaw } from 'vue-router';
- import { mergeRouteModules, traverseTreeValues } from '@vben/utils';
- import { coreRoutes, fallbackNotFoundRoute } from './core';
- const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', {
- eager: true,
- });
- // 有需要可以自行打开注释,并创建文件夹
- // const externalRouteFiles = import.meta.glob('./external/**/*.ts', { eager: true });
- // const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true });
- /** 动态路由 */
- const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles);
- /** 外部路由列表,访问这些页面可以不需要Layout,可能用于内嵌在别的系统(不会显示在菜单中) */
- // const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles);
- /** 不需要权限的菜单列表(会显示在菜单中) */
- // const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles);
- const staticRoutes: RouteRecordRaw[] = [];
- const externalRoutes: RouteRecordRaw[] = [];
- /** 路由列表,由基本路由+静态路由组成 */
- const routes: RouteRecordRaw[] = [
- ...coreRoutes,
- ...externalRoutes,
- fallbackNotFoundRoute,
- ];
- /** 基本路由列表,这些路由不需要进入权限拦截 */
- const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name);
- const accessRoutes = [...dynamicRoutes, ...staticRoutes];
- export { accessRoutes, coreRouteNames, routes };
|