index.ts 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { mergeRouteModules, traverseTreeValues } from '@vben/utils';
  3. import { coreRoutes, fallbackNotFoundRoute } from './core';
  4. const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', {
  5. eager: true,
  6. });
  7. // 有需要可以自行打开注释,并创建文件夹
  8. // const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true });
  9. /** 动态路由 */
  10. const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles);
  11. /** 静态路由列表,访问这些页面可以不需要权限 */
  12. // const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles);
  13. const staticRoutes: RouteRecordRaw[] = [];
  14. /** 路由列表,由基本路由+静态路由组成 */
  15. const routes: RouteRecordRaw[] = [
  16. ...coreRoutes,
  17. ...staticRoutes,
  18. fallbackNotFoundRoute,
  19. ];
  20. /** 基本路由列表,这些路由不需要进入权限拦截 */
  21. const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name);
  22. export { coreRouteNames, dynamicRoutes, routes };