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];
});
}
}
-
zhangsan authored8eebc7f5