index.ts 1011 B

12345678910111213141516171819202122232425262728
  1. import { mergeRouteModules } from '@vben-core/helpers';
  2. import type { RouteRecordRaw } from 'vue-router';
  3. import { essentialRoutes } from './_essential';
  4. const dynamicRouteFiles = import.meta.glob('./dynamic/**/*.ts', {
  5. eager: true,
  6. });
  7. const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true });
  8. const externalRouteFiles = import.meta.glob('./external/**/*.ts', {
  9. eager: true,
  10. });
  11. /** 动态路由 */
  12. const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles);
  13. /** 静态路由列表,访问这些页面可以不需要权限 */
  14. const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles);
  15. /** 排除在主框架外的路由,这些路由没有菜单和顶部及其他框架内容 */
  16. const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles);
  17. /** 路由列表,由基本路由+静态路由组成 */
  18. const routes: RouteRecordRaw[] = [...essentialRoutes, ...staticRoutes];
  19. export { dynamicRoutes, externalRoutes, routes };