HarmonyOS 开发实战——ZRouter让系统路由表变的更简单(轻量级动态路由库)


📚往期笔录记录🔖:

🔖鸿蒙(HarmonyOS)北向开发知识点记录~
🔖鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
🔖鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🔖嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🔖对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🔖鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🔖记录一场鸿蒙开发岗位面试经历~
🔖持续更新中……


介绍

ZRouter是一款轻量级的动态路由库,基于Navigation系统路由表和Hvigor插件实现的方案。主要特性:

  • 对Navigation组件简化使用,封装一系列简单易用API,支持链式调用,无需再关注路由表的配置,保持着对Navigation组件零侵入零耦合;
  • 支持多个拦截器(支持优先级和中断拦截)和全局拦截器,可实现页面跳转和显示、埋点、登录等拦截处理;
  • 支持自定义URL路径跳转配置,可以通过URL路径来跳转原生不同页面;
  • 支持第三方Navigation的系统路由表使用本库API;
  • 支持跨多级页面参数的回传监听;
  • 支持启动模式、混淆、嵌套Navigation;
  • @Route装饰器上的name属性支持使用静态常量;
  • 后续会支持生命周期的监听、组件化通信(待实现)。

ZRouter侧重于路由跳转与模块解耦,以及组件化的通信(待实现);对Navigation组件没有任何耦合,不做任何的限制把自主权交给开发者。

两行代码就可以完成页面的跳转,如下:

ZRouter已上架录入到华为鸿蒙生态伙伴组件专区

router-register-plugin插件的使用

下载安装

在项目根目录的hvigor目录的hvigor-config.json5文件中配置安装

  "dependencies": {
//    "router-register-plugin":"file:../plugins/router-register-plugin-1.0.2.tgz"
    "router-register-plugin":"1.0.7"
  },

最后记得Sync Now或重新build让插件安装生效。或者使用hvigorw命令行工具执行任一命令,命令行工具会自动执行安装构建依赖。

初始配置

在每个模块中的hvigorfile.ts文件导入router-register-plugin插件模块的routerRegisterPlugin函数和PluginConfig 接口,routerRegisterPlugin 函数是自定义Hvigor插件的入口函数,PluginConfig是一个配置对象,用于定义插件的行为。

import { routerRegisterPlugin, PluginConfig } from 'router-register-plugin'

const config: PluginConfig = {
  scanDir: "src/main/ets/components",
  logEnabled: false,
  viewNodeInfo: false,
}
export default {
    system: harTasks,  
    plugins:[routerRegisterPlugin(config)] 
}

上面代码初始化PluginConfig配置对象,包括要扫描的目录(scanDir)和两个布尔属性(logEnabled 和 viewNodeInfo),用于控制日志记录和查看节点信息的功能;然后将配置对象作为参数传入到routerRegisterPlugin入口函数中,最后将routerRegisterPlugin()函数添加到plugins数组中。

  • scanDir:建议是页面目录,这样可以更精准扫描目标文件。
  • logEnabled:日志记录开关。
  • viewNodeInfo:查看节点信息的开关,只有logEnabled和viewNodeInfo同时开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值