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