zhangxiao
2024-08-15 f74f264d875b003730484f3fe7cb242c7f91294e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import type { RouteRecordNormalized } from 'vue-router';
 
const modules = import.meta.glob('./modules/*.ts', { eager: true });
 
console.log(modules, 'modules');
 
const externalModules = import.meta.glob('./externalModules/*.ts', {
  eager: true,
});
 
 
console.log(externalModules, 'externalModules');
 
function formatModules(_modules: any, result: RouteRecordNormalized[]) {
  Object.keys(_modules).forEach((key) => {
    const defaultModule = _modules[key].default;
    if (!defaultModule) return;
    const moduleList = Array.isArray(defaultModule)
      ? [...defaultModule]
      : [defaultModule];
    result.push(...moduleList);
  });
  return result;
}
 
export const appRoutes: RouteRecordNormalized[] = formatModules(modules, []);
 
console.log(appRoutes, 'appRoutes');
 
export const appExternalRoutes: RouteRecordNormalized[] = formatModules(
  externalModules,
  []
);