UNPKG

tools-vue3

Version:
74 lines (73 loc) 1.94 kB
/** * 路由工具-示例阅读README.md */ export default class CRouter { /** * 初始化路由列表 * @returns */ static init: (param: Partial<CRouterParam>) => { array: any[]; map: any; }; } export type CRouterParam = { /** * 显示页面列表 */ modules: any; /** * 补齐页面列表,如果modules的页面少于diffModules,将缺少的diffModules的页面添加到modules中 */ diffModules?: any; /** * 根路径-默认'/src/views' */ root: string; /** * 页面配置 */ children: Partial<CRouterParamChildren>[]; /** * map地址勾子,用来处理map数据管理,参与处理path、component、children,一般留存标记方便children处理,比如正则pages下的所有路由,但是最终地址不使用pages,所以在这个勾子单独处理不对pages替换 */ mapKeyPathHook?: (path: string) => string; /** * 路由地址修改钩子-用来修改最终的path地址使用名称 如/modules/home/index/index修改为/home */ pathHook: (path: string) => string; /** * 设置初始化信息,比如设置meta信息和title信息 */ setInfoHook?: (item: CRouterParamChildren & { [key: string]: any; }) => void; }; export type CRouterParamChildren = { /** * 页面路径-如/home/index */ path: string; /** * 页面组件-填vue文件地址 * @a 如/src/views/home/index.vue填/home/index * @a 如/src/views/home/card.vue填/home/card */ component: string; /** * 跳转路径-如/home/index */ redirect: string; /** * 子路由 */ children: Partial<CRouterParamChildren>[]; /** * 子路由地址列表 */ childrenList: string[]; /** * 子路由包含正则 */ childrenReg: string | string[] | RegExp | RegExp[]; };