unix-router v0.1.0 首发:uni-app x 的 vue-router 风格路由库

发布日期:2026-09-05

unix-router 首个可运行版本正式发布!这是一个为 uni-app x 提供的、API 对标 vue-router 4 的路由管理库,以 UTS 源码(.uts)随 uni_modules 分发,无需预编译,由 uni-app x 编译链按平台现场编译------Web / 小程序 → JS,Android → Kotlin,iOS → Swift。

为什么需要它

uni-app x 原生提供 uni.navigateTo / redirectTo / reLaunch / navigateBack / switchTab,但当页面增多后,「无路由表、无守卫、无统一路由状态、参数传递繁琐」成为痛点。unix-router 用一套与 vue-router 一致的 API 抹平这些差异,并提供登录鉴权、导航控制、参数传递等能力。

核心特性

  • vue-router 风格 APIcreateRouterpush / replace / relaunch / back,自动根据 meta.isTab 切换 switchTab
  • 路由匹配 :path / name 双索引,字符串 / 对象 / 命名三种解析,strict 严格模式
  • 路由守卫beforeEach / beforeResolve / afterEach / beforeEnter / 组件内守卫(onBeforeRouteLeave / onBeforeRouteUpdate / onBeforeRouteEnter),支持重定向与守卫超时
  • 组合式 APIuseRouter() / useRoute() / useLink(),响应式 currentRoute
  • 参数传递paramsMap<string,string>)经查询编码(__unixr_p_ 保留前缀)跨页传递,不暴露明文键名;query 以字符串经 URL 传递
  • 导航控制 :重复导航自动拒绝(DUPLICATED)、并发导航自动排队
  • 错误体系RouterError / NavigationFailure / RouterErrorCodeisNavigationFailure() 精准判断,onError 全局捕获
  • 状态同步 :页面 onShow 自动 syncRoute(),基于 getCurrentPages() 对齐物理返回 / TabBar 切换等非路由器导航

快速开始

typescript 复制代码
// 定义路由配置(path 与 pages.json 一致)
export const routes: RouteConfig[] = [
	{ path: 'pages/index/index', name: 'home', meta: { title: '首页', isTab: true } },
	{ path: 'pages/about/about', name: 'about', meta: { title: '关于', requireAuth: true } }
]

// 创建并安装路由器
export const router = createRouter({ routes, strict: true })
app.use(router) // 注入全局 mixin,onShow 自动 syncRoute()

// 页面内导航
const router = useRouter()
await router.push({ name: 'about', query: new Map([['id', '1']]) })

安装方式

  • uni-app 插件市场 :直接在 插件市场 中点击"使用 HBuilderX 导入"即可,项目内路径为 @/uni_modules/ux-router/utssdk/index.uts

文档

入门到精通 的完整文档(🟢 入门 → 🟡 进阶 → 🔴 精通)位于 packages/docs,覆盖快速开始、路由配置、导航、守卫与完整实战示例。

平台兼容性

  • Web / H5、微信小程序 → 编译为 JS
  • App-Android → 编译为 Kotlin / JS
  • iOS(VDOM)→ 编译为 Swift
  • 底层仅依赖 uni.* 原生导航 API,双模式兼容 uni-app x

后续规划

  • 更丰富的守卫能力与冷启动守卫 guardRoute()
  • 面向实战的完整演示与性能优化

欢迎使用与反馈:uni-app 插件市场

相关推荐
Linsk1 小时前
妙用:focus解决0到auto高度过渡的边界场景
前端·css
零域码客1 小时前
一文掌握 jQuery + Flask 全栈核心知识点(前端交互 + 后端接口 + 前后端联调)
前端·python·ajax·flask·jquery·前后端联调·web全栈
এ慕ོ冬℘゜1 小时前
html理论
前端·html
IT_陈寒1 小时前
Java的HashMap竟然不是线程安全的,现在才知道!
前端·人工智能·后端
IT_陈寒1 小时前
React hooks闭包陷阱让我加了一宿班
前端·人工智能·后端
不一样的少年_1 小时前
设计稿里的图片明明很清晰,为什么到了手机上却糊了?一文讲透 DPR、压缩与格式选择
前端·后端·图片资源
计算机魔术师1 小时前
OpenAI内部数据曝光:AI已经替人类写了3.1倍的研究代码
前端
心易行者1 小时前
用html在线运行做数据可视化大屏,5个实战场景从入门到上线
大数据·前端·数据库·人工智能·python
光影少年1 小时前
从输入URL到页面渲染,React/RN 整体加载流程
前端·javascript·react native·react.js·前端框架