路由配置
简介
路由配置定义了 @esmx/router 中 URL 路径与组件之间的映射关系。支持动态片段、嵌套路由、重定向、懒加载和路由级导航守卫。
类型定义
RouteConfig
- 类型定义:
path
- 类型:
string - 必填:是
路由的 URL 路径模式。支持动态片段和通配符:
component
- 类型:
unknown
路由匹配时要渲染的组件。具体类型取决于使用的框架。
asyncComponent
- 类型:
() => Promise<unknown>
懒加载组件函数。组件在路由首次匹配时按需加载。
children
- 类型:
RouteConfig[]
嵌套子路由配置。子路径相对于父路径。
redirect
- 类型:
RouteLocationInput | RouteConfirmHook
此路由的重定向目标。可以是静态位置或动态函数。
meta
- 类型:
RouteMeta(Record<string | symbol, unknown>)
附加到路由的自定义元数据。可在守卫和组件中通过 route.meta 访问。
app
- 类型:
string | RouterMicroAppCallback
微应用标识符或工厂函数。在多应用路由中用于选择处理路由的应用。
beforeEnter
- 类型:
RouteConfirmHook
进入路由前调用的路由级导航守卫。详情请参阅导航守卫。
beforeUpdate
- 类型:
RouteConfirmHook
当路由被复用但参数改变时调用的路由级守卫。
beforeLeave
- 类型:
RouteConfirmHook
离开此路由前调用的路由级守卫。
requireIndex
- 类型:
boolean - 默认值:
false
是否为该路由的子路由启用索引匹配。当设为 true 时,如果父路由没有配置 path: '' 的默认子路由,访问父路由路径会抛出错误。
layer
- 类型:
boolean
为 true 时,此路由仅在层模式下匹配。为 false 时,此路由不参与层匹配。
override
- 类型:
RouteConfirmHook
用于混合应用开发的路由覆盖函数。返回一个处理函数以覆盖默认路由行为,或返回 void 使用默认行为。在初始路由加载期间不执行。
RouteParsedConfig
- 类型定义:
路由配置的内部解析形式,由路由器处理后使用。在 RouteConfig 基础上扩展:
compilePath:编译后的路径模式children:解析后的子配置match:来自path-to-regexp的路径匹配函数compile:用于从参数生成 URL 的路径编译函数
RouteMatchResult
- 类型定义:
路由匹配的结果:
matches:从父到子匹配的路由配置数组params:提取的动态参数
RouteMatcher
- 类型定义:
路由匹配函数类型。接受目标 URL、基础 URL 和可选的过滤回调来决定匹配哪些路由。
动态片段
动态片段使用 :param 语法,匹配任意路径段:
参数通过 route.params 访问: