写点什么

HarmonyOS 实战:组件化项目搭建

作者:IT小码哥
  • 2025-05-27
    北京
  • 本文字数:1028 字

    阅读完需:约 3 分钟

前言

鸿蒙应用开发已经成为互联网新的风口,开发鸿蒙软件已经成为今年工作的核心目标。在软件开发过程中,对于复杂度较大,功能较多的软件都会采用组件化项目架构,那么对于鸿蒙应用开发是否也能实现组件化呢?本文将详细讲解 HarmonyOs 组件化项目搭建的全过程,带领大家实现一个组件化项目。

项目创建

  1. 首先创建一个项目工程,点击开发工具 DevEco-Stdio 的 File 选项,选择 New 然后点击 Create Project



  1. 选择创建一个 EmptyAbility,然后直接下一步,创建工程。



  1. 工程主要包括一个 entry 模块,可以理解为 Android 的 app 主模块。


公共库创建及使用

创建公共库 Common 组件。


  1. 在工程目录中,单机鼠标右键,选择 New 选项,然后在弹出的页面中选择 Module。



  1. 在弹出的页面中,选择创建一个静态库 Static Library。



  1. 然后点击 Next,修改静态库的名称为 common。



  1. 点击完成后,编译器会自动在项目的根目录的 build-profile.json5 文件中添加 common 模块。



  1. 添加项目依赖,common 作为公共库,需要提供给其他模块使用,这里以 entry 为例,添加模块依赖,如下图所示。



  1. 至此,一个公共库 common 就创建完成了。

功能模块创建使用

一个功能复杂庞大的 app 不仅有公共模块,还有许多子模块构建而成。创建流程如下:


  1. 在工程目录中,单机鼠标右键,选择 New 选项,然后在弹出的页面中选择 Module。



  1. 在弹出的页面中,选择创建一个共享库 Shared Library。



  1. 然后点击 Next,修改静态库的名称为 login。

  2. 点击完成后,编译器会自动在项目的根目录的 build-profile.json5 文件中添加 login 模块。



  1. 添加项目依赖,login 作为子模块,需要被 entry 依赖调用,添加模块依赖,如下图所示。



  1. 到目前为止子模块也创建完成。

模块路由跳转

前面创建分别创建了公共库和子模块,如何从主模块 entry 跳转到子模块 login,或者子模块之间互相跳转呢?


  1. HarmonyOs 在页面跳转时提供了 router 实现路由跳转。需要跳转的目标页面必须满足两个条件,@Entry 修饰 struct 和路由注册。被 @Entry 修饰的 struct 才是一个独立页面。同时需要在 main_pages.json 中注册路由。



  1. 在 common 中定义完整路径。不同子模块都会依赖公共静态库 common。然后在 common 中定义目标页面的全路径。



全路径主要由三部分组成。分别是 @bundle: 代表模版。 然后是 包名 com.cms.mvvm。最后是模块名+目标页面的全路径。


  1. 导出 ConstantRouter 类,提供给其他模块调用。



  1. 引入 ConstantRouter 类,调用类中定义的路由。


总结

HarmonyOs 组件化的使用,有利于模块之间的解耦及大型项目的共同开发。随着鸿蒙生态的不断完善,学习鸿蒙开发势必成为新的趋势。也是广大同行新的选择。


用户头像

IT小码哥

关注

还未添加个人签名 2021-04-29 加入

还未添加个人简介

评论

发布
暂无评论
HarmonyOS实战:组件化项目搭建_鸿蒙 Ability_IT小码哥_InfoQ写作社区