# HMRouter **Repository Path**: hadss/hmrouter ## Basic Information - **Project Name**: HMRouter - **Description**: HMRouter作为应用内页面跳转场景解决方案,聚焦应用内ArkUI页面的跳转逻辑。 HMRouter底层对系统Navigation进行封装,集成了Navigation、NavDestination、NavPathStack的系统能力,提供了可复用的路由拦截、页面生命周期、自定义转场动画,并且在传参、额外的生命周期、服务型路由方面对系统能力进行了扩展。 帮助开发者更好的进行模块间解耦。 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 230 - **Forks**: 52 - **Created**: 2024-07-26 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: HarmonyOS, OpenHarmony, 路由框架, navigation ## README # HMRouter(已迁移) ⚠️ HMRouter已迁移至Openharmony-sig进行孵化,后续更新与维护请前往: 👉 [https://gitcode.com/openharmony-sig/ohrouter](https://gitcode.com/openharmony-sig/ohrouter) --- ## 项目介绍 HMRouter作为应用内页面跳转场景解决方案,为开发者提供了功能完备、高效易用的路由框架。 HMRouter底层对系统Navigation进行封装,集成了[Navigation](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-navigation)、[NavDestination](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-navdestination)、[NavPathStack](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-navigation#navpathstack10)的系统能力,提供了可复用的路由拦截、页面生命周期、自定义转场动画,并且在跳转传参、额外的生命周期、服务型路由方面对系统能力进行了扩展,同时开发者可以高效的将历史代码中的Navigation组件接入到HMRouter框架中。 目的是让开发者在开发过程中减少模板代码,降低拦截器、自定义转场动画、组件感知页面生命周期等高频开发场景的实现复杂度,帮助开发者更好的实现路由与业务模块间的解耦。 > 🚨 当前仓库的 issue 与 PR 可能无法及时响应,建议直接前往新仓库参与交流与贡献。 ## 特性 - 基于注解声明路由信息(普通页面、Dialog页面、单例页面) - 注解参数支持使用字符串常量定义 - 页面路径支持正则匹配 - 支持在Har、Hsp、Hap中使用 - 支持Navigation路由栈嵌套 - 支持服务型路由 - 跳转时支持标准URL解析 - 支持路由拦截器(包含全局拦截、单页面拦截、跳转时一次性拦截) - 支持生命周期回调(包含全局生命周期、单页面生命周期、NavBar生命周期) - 内置转场动画(普通页面、Dialog),支持交互式转场动画,同时支持配置某个页面的转场动画、跳转时的一次性动画 - 提供更多高阶转场动画,包括一镜到底等(需依赖`@hadss/hmrouter-transitions`) - 支持配置自定义页面模版,可以更灵活的生成页面文件 - 支持混淆白名单自动配置 - 支持与系统Navigation/NavDestination组件混用 ## 项目版本信息 | 名称 | 说明 | 类型 | 版本号 | 发布状态 | |------------------------------------------------------------------------------------------------------|----------------|------|--------------|------| | [@hadss/hmrouter](https://ohpm.openharmony.cn/#/cn/detail/@hadss%2Fhmrouter) | 路由框架 | 运行时库 | 1.1.0-beta.0 | 已发布 | | [@hadss/hmrouter-transitions](https://ohpm.openharmony.cn/#/cn/detail/@hadss%2Fhmrouter-transitions) | 高阶转场动画库,依赖路由框架 | 运行时库 | 1.0.0-rc.10 | 已发布 | | [@hadss/hmrouter-plugin](https://www.npmjs.com/package/@hadss/hmrouter-plugin) | 编译插件 | 编译插件 | 1.1.0-beta.0 | 已发布 | ## 安装方式 **使用 ohpm 安装** ```shell # 安装路由框架核心库 ohpm install @hadss/hmrouter # 如需高级转场动画,安装转场动画库 ohpm install @hadss/hmrouter-transitions ``` **感谢你对 HMRouter 的关注与支持!请移步新仓库继续参与开发与交流 🙌**