export type DynamicViewsRecord = Record<string, () => Promise<Recordable>>; /** 已注册模块的动态页面 */ export const packageViews: DynamicViewsRecord = {}; /** * 注册动态路由页面 * @param getViews 获取该模块下所有页面的方法 */ export function registerDynamicRouter(getViews: () => DynamicViewsRecord) { if (typeof getViews === 'function') { let dynamicViews = getViews(); Object.keys(dynamicViews).forEach((key) => { // 处理动态页面的key,使其可以让路由识别 let newKey = key.replace('./src/views', '../../views'); packageViews[newKey] = dynamicViews[key]; }); } }