前言
鴻蒙應用開發已經成為互聯網新的風口,開發鴻蒙軟件已經成為今年工作的核心目標。在軟件開發過程中,對于復雜度較大,功能較多的軟件都會采用組件化項目架構,那么對于鴻蒙應用開發是否也能實現組件化呢?本文將詳細講解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文章
2153瀏覽量
36037
發布評論請先 登錄
相關推薦
熱點推薦
釘釘正式開源HarmonyOS圖片編輯組件
近日,由釘釘團隊自主研發的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方庫中心倉并開源。作為一款填補鴻蒙社區圖像處理領域空白的重量級組件,該方案基于HarmonyOS
【匯思博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應用服務##鴻蒙金融類應用 (金融理財# 一、前言:移動開發
【「Yocto項目實戰教程:高效定制嵌入式Linux系統」閱讀體驗】01總結與實踐記錄
一、前言
非常感謝電子發燒友論壇讓我入選這本<<Yocto項目實戰教程>>書的試讀?;叵肫?022年當時好像參加阿里的某個比賽得到了D1s
發表于 06-30 11:38
HarmonyOS基礎組件:Button三種類型的使用
簡介 HarmonyOS在明年將正式不再兼容Android原生功能,這意味著對于客戶端的小伙伴不得不開始學習HarmonyOS開發語言。本篇文章主要介紹鴻蒙中的Button使用。 HarmonyOS
HarmonyOS5云服務技術分享--Serverless抽獎模板部署
手把手教你部署HarmonyOS Serverless抽獎活動模板(附貼心提醒)
嘿,小伙伴們!今天給大家分享一個超實用的教程——如何用華為HarmonyOS的Serverless模板快速搭建抽獎
發表于 05-22 20:25
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
HarmonyOS Next V2 @Local 和@Param
@State 對狀態變量更改的檢測混亂的問題: @State 修飾的狀態變量 可以是組件內部自己定義的 @State 修飾的狀態 也可以由外部父組件傳遞 這樣就導致了狀態數據來源不唯一,在大型項目
存儲服務器怎么搭建?RAKsmart實戰指南
搭建存儲服務器需兼顧硬件性能、數據冗余與安全訪問。以RAKsmart服務器為例,整體流程可分為五步:需求評估→硬件選型→RAID配置→系統部署→網絡設置。以下是小編對RAKsmart存儲服務器怎么搭建的實戰指南:
HarmonyOS實戰:組件化項目搭建
評論