用途:为 uni-app 提供类似 Vue Router 的轻量级路由能力,通过 virtual:uni-pages 生成路由表,用组合式 API 完成页面跳转与参数处理。
主要能力:编程式导航(push、replace、back、go)、命名路由、params 与 query 参数传递、全局前置守卫 beforeEach 与后置钩子 afterEach、路由信息获取(path、name、query、params、fullPath、meta)、TypeScript 支持。页面可通过 definePage 配置 name、layout、meta、style。
使用方式:在 src/router/index.ts 中由 pages 与 subPackages 生成 routes 并 createRouter;组件内用 useRouter() 得到 router、useRoute() 得到 route。跳转可传字符串路径、对象或命名路由;TabBar 页面可设 reLaunch 或自动识别。守卫中异步操作需返回 Promise,例如 showConfirm 的 success 调 next()、fail 调 next(false)。
限制:仍受 uni-app 路由限制(如页面栈限制),TabBar 页面需特殊处理,参数过长时建议用全局状态传递。