import { RouteObject, createBrowserRouter, } from "react-router-dom"; import App from "../App"; import { MenuItemType } from "antd/es/menu/interface"; import LoginPage from "@src/views/login/login"; export type AdminRouterItem = RouteObject & { // set antd menu props in meta meta?: MenuItemType children?: AdminRouterItem[] } /** * auto load route from views/***\/*.router.ts * @returns route */ const loadRouteModules = async () => { const routeModuleFiles = import.meta.glob('../views/**/*.router.tsx', { eager: true, import: 'default' }) const routeModules: AdminRouterItem[] = [] for await (const [key, module] of Object.entries(routeModuleFiles)) { console.log('key = ', key, 'module = ', module) if (module) { const routes = Array.isArray(module) ? module : [module]; routeModules.push(...routes); } } return routeModules } export const routes: AdminRouterItem[] = [ ...await loadRouteModules() ] export default createBrowserRouter([ { path: "/", element: , children: routes, }, { path: "/login", element: , } ])