前言
鸿蒙应用开发已经成为互联网新的风口,开发鸿蒙软件已经成为今年工作的核心目标。在软件开发过程中,对于复杂度较大,功能较多的软件都会采用组件化项目架构,那么对于鸿蒙应用开发是否也能实现组件化呢?本文将详细讲解HarmonyOs组件化项目搭建的全过程,带领大家实现一个组件化项目。
项目创建
- 首先创建一个项目工程,点击开发工具DevEco-Stdio的****File选项,选择New然后点击 Create Project。

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

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

公共库创建及使用
创建公共库Common组件。
- 在工程目录中,单机鼠标右键,选择New选项,然后在弹出的页面中选择Module。

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

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

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

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

- 至此,一个公共库common就创建完成了。
功能模块创建使用
一个功能复杂庞大的app不仅有公共模块,还有许多子模块构建而成。创建流程如下:
- 在工程目录中,单机鼠标右键,选择New选项,然后在弹出的页面中选择Module。

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

- 然后点击Next,修改静态库的名称为login。
- 点击完成后,编译器会自动在项目的根目录的build-profile.json5文件中添加login模块。

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

- 到目前为止子模块也创建完成。
模块路由跳转
前面创建分别创建了公共库和子模块,如何从主模块entry跳转到子模块login,或者子模块之间互相跳转呢?
- HarmonyOs在页面跳转时提供了router实现路由跳转。需要跳转的目标页面必须满足两个条件, @Entry修饰struct 和路由注册。被@Entry修饰的struct才是一个独立页面。同时需要在main_pages.json中注册路由。

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

全路径主要由三部分组成。分别是@bundle: 代表模版。 然后是 包名 com.cms.mvvm。最后是模块名+目标页面的全路径。
- 导出 ConstantRouter类,提供给其他模块调用。

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

总结
HarmonyOs组件化的使用,有利于模块之间的解耦及大型项目的共同开发。随着鸿蒙生态的不断完善,学习鸿蒙开发势必成为新的趋势。也是广大同行新的选择。
对
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
HarmonyOS
+关注
关注
80文章
2146浏览量
35580
发布评论请先 登录
相关推荐
热点推荐
【汇思博SEEK100开发板试用体验】开发环境安装配置
项目初始化设置
创建Empty Ability工程
修改SDK版本至API 12(兼容OpenHarmony关键)
建议命名规范:MyApp_DeviceName(例
发表于 08-20 21:43
Ansible代码上线项目实战案例
在DevOps浪潮中,自动化部署已经成为每个运维工程师的必备技能。今天我将分享一个完整的Ansible代码上线项目实战案例,让你的部署效率提升10倍!
【HarmonyOS 5】鸿蒙页面和组件生命周期函数
【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build: 构建
【HarmonyOS 5】金融应用开发鸿蒙组件实践
【HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、鸿蒙生态观察 2024 年 1 月 18 日: 发布
【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解
【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言:移动开发
HarmonyOS基础组件:Button三种类型的使用
简介 HarmonyOS在明年将正式不再兼容Android原生功能,这意味着对于客户端的小伙伴不得不开始学习HarmonyOS开发语言。本篇文章主要介绍鸿蒙中的Button使用。 HarmonyOS
HarmonyOS5云服务技术分享--Serverless搭建抽奖
✨【实战指南】手把手教你用华为AGC Serverless模板快速搭建抽奖活动✨
嗨各位开发者小伙伴!今天给大家分享一个超实用的技巧——用华为应用市场AGC的Serverless模板三分钟搞定抽奖
发表于 05-22 20:20
HarmonyOS5云服务技术分享--ArkTS开发Node环境
、支付平台的通知,触发自动化流程。
? 四、总结与展望
通过本文,你已经掌握了HarmonyOS云函数的核心开发流程,特别是Node.js与HTTP触发器的实战技巧。随着HarmonyOS
发表于 05-22 17:21
【书籍评测活动NO.61】Yocto项目实战教程:高效定制嵌入式Linux系统
,Yocto 项目应运而生。Yocto 项目不仅继承了 Buildroot 的快速构建优势,还通过引入高度定制化的工具链和广泛的硬件支持,弥补了 Buildroot 的不足。 Yocto项目
发表于 05-21 10:00
存储服务器怎么搭建?RAKsmart实战指南
搭建存储服务器需兼顾硬件性能、数据冗余与安全访问。以RAKsmart服务器为例,整体流程可分为五步:需求评估→硬件选型→RAID配置→系统部署→网络设置。以下是小编对RAKsmart存储服务器怎么搭建的实战指南:
解决HarmonyOS应用中Image组件白块问题的有效方案
在HarmonyOS应用开发过程中,通过Image组件加载网络图片时,通常会经历四个关键阶段:组件创建、图片资源下载、图片解码和刷新。当加载的图片资源过大时,Image组件会等待图片数
名单公布!【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践
本书深入剖析了HarmonyOS NEXT的各项技术,通过丰富的实战案例,由浅入深地解析了HarmonyOS NEXT的原理与应用。借助多样化的实
发表于 01-20 16:53
《HarmonyOS第一课》焕新升级,赋能开发者快速掌握鸿蒙应用开发
的《HarmonyOS第一课》全新上线,集“学、练、考”于一体,凭借多维融合的教学模式与系统课程设置,助力开发者快速掌握HarmonyOS应用开发技能。 四大课程模块:搭建HarmonyOS
发表于 01-02 14:24
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
分别安装官方的3.22版本,以及鸿蒙社区的 3.22.0 版本
3.搭建 Flutter鸿蒙开发环境
参考文章《鸿蒙Flutter实战:01-搭建开发环境》
搭建
发表于 12-26 14:59

HarmonyOS实战:组件化项目搭建
评论