Industrial-image-management.../src/router/asyncModules.ts

14 lines
496 B
TypeScript
Raw Normal View History

2025-06-27 19:54:42 +08:00
type ImportVueFileType = typeof import('*.vue')
type ImportVueFileFnType = () => Promise<ImportVueFileType>
const moduleFiles = import.meta.glob<ImportVueFileType>('@/views/**/*.vue')
export const asyncRouteModules = Object.entries(moduleFiles).reduce((routes, [url, importFn]) => {
if (!/\/(views\/login|components)\//.test(url)) {
const path = url.replace('/src/views/', '').replace('.vue', '')
routes[path] = importFn
}
return routes
}, {} as Recordable<ImportVueFileFnType>)