前言
鴻蒙應(yīng)用開(kāi)發(fā)已經(jīng)成為互聯(lián)網(wǎng)新的風(fēng)口,開(kāi)發(fā)鴻蒙軟件已經(jīng)成為今年工作的核心目標(biāo)。在軟件開(kāi)發(fā)過(guò)程中,對(duì)于復(fù)雜度較大,功能較多的軟件都會(huì)采用組件化項(xiàng)目架構(gòu),那么對(duì)于鴻蒙應(yīng)用開(kāi)發(fā)是否也能實(shí)現(xiàn)組件化呢?本文將詳細(xì)講解HarmonyOs組件化項(xiàng)目搭建的全過(guò)程,帶領(lǐng)大家實(shí)現(xiàn)一個(gè)組件化項(xiàng)目。
項(xiàng)目創(chuàng)建
- 首先創(chuàng)建一個(gè)項(xiàng)目工程,點(diǎn)擊開(kāi)發(fā)工具DevEco-Stdio的****File選項(xiàng),選擇New然后點(diǎn)擊 Create Project。

- 選擇創(chuàng)建一個(gè)EmptyAbility,然后直接下一步,創(chuàng)建工程。

- **工程主要包括一個(gè)entry模塊,可以理解為Android的app主模塊。 **

公共庫(kù)創(chuàng)建及使用
創(chuàng)建公共庫(kù)Common組件。
- 在工程目錄中,單機(jī)鼠標(biāo)右鍵,選擇New選項(xiàng),然后在彈出的頁(yè)面中選擇Module。

- 在彈出的頁(yè)面中,選擇創(chuàng)建一個(gè)靜態(tài)庫(kù)****Static Library。

- 然后點(diǎn)擊Next,修改靜態(tài)庫(kù)的名稱(chēng)為common。

- 點(diǎn)擊完成后,編譯器會(huì)自動(dòng)在項(xiàng)目的根目錄的build-profile.json5文件中添加common模塊。

- 添加項(xiàng)目依賴(lài),common作為公共庫(kù),需要提供給其他模塊使用,這里以entry為例,添加模塊依賴(lài),如下圖所示。

- 至此,一個(gè)公共庫(kù)common就創(chuàng)建完成了。
功能模塊創(chuàng)建使用
一個(gè)功能復(fù)雜龐大的app不僅有公共模塊,還有許多子模塊構(gòu)建而成。創(chuàng)建流程如下:
- 在工程目錄中,單機(jī)鼠標(biāo)右鍵,選擇New選項(xiàng),然后在彈出的頁(yè)面中選擇Module。

- 在彈出的頁(yè)面中,選擇創(chuàng)建一個(gè)共享庫(kù)****Shared Library。

- 然后點(diǎn)擊Next,修改靜態(tài)庫(kù)的名稱(chēng)為login。
- 點(diǎn)擊完成后,編譯器會(huì)自動(dòng)在項(xiàng)目的根目錄的build-profile.json5文件中添加login模塊。

- 添加項(xiàng)目依賴(lài),login作為子模塊,需要被entry依賴(lài)調(diào)用,添加模塊依賴(lài),如下圖所示。

- 到目前為止子模塊也創(chuàng)建完成。
模塊路由跳轉(zhuǎn)
前面創(chuàng)建分別創(chuàng)建了公共庫(kù)和子模塊,如何從主模塊entry跳轉(zhuǎn)到子模塊login,或者子模塊之間互相跳轉(zhuǎn)呢?
- HarmonyOs在頁(yè)面跳轉(zhuǎn)時(shí)提供了router實(shí)現(xiàn)路由跳轉(zhuǎn)。需要跳轉(zhuǎn)的目標(biāo)頁(yè)面必須滿(mǎn)足兩個(gè)條件, @Entry修飾struct 和路由注冊(cè)。被@Entry修飾的struct才是一個(gè)獨(dú)立頁(yè)面。同時(shí)需要在main_pages.json中注冊(cè)路由。

- 在common中定義完整路徑。不同子模塊都會(huì)依賴(lài)公共靜態(tài)庫(kù)common。然后在common中定義目標(biāo)頁(yè)面的全路徑。

全路徑主要由三部分組成。分別是@bundle: 代表模版。 然后是 包名 com.cms.mvvm。最后是模塊名+目標(biāo)頁(yè)面的全路徑。
- 導(dǎo)出 ConstantRouter類(lèi),提供給其他模塊調(diào)用。

- 引入ConstantRouter類(lèi),調(diào)用類(lèi)中定義的路由。

總結(jié)
HarmonyOs組件化的使用,有利于模塊之間的解耦及大型項(xiàng)目的共同開(kāi)發(fā)。隨著鴻蒙生態(tài)的不斷完善,學(xué)習(xí)鴻蒙開(kāi)發(fā)勢(shì)必成為新的趨勢(shì)。也是廣大同行新的選擇。
對(duì)
審核編輯 黃宇
-
HarmonyOS
+關(guān)注
關(guān)注
80文章
2146瀏覽量
35509
發(fā)布評(píng)論請(qǐng)先 登錄
儲(chǔ)能項(xiàng)目從規(guī)劃到運(yùn)營(yíng)的全流程實(shí)戰(zhàn)指南
【匯思博SEEK100開(kāi)發(fā)板試用體驗(yàn)】開(kāi)發(fā)環(huán)境安裝配置
Ansible代碼上線項(xiàng)目實(shí)戰(zhàn)案例
【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐
【 HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解
HarmonyOS基礎(chǔ)組件:Button三種類(lèi)型的使用
HarmonyOS5云服務(wù)技術(shù)分享--Serverless搭建抽獎(jiǎng)
HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)Node環(huán)境
【書(shū)籍評(píng)測(cè)活動(dòng)NO.61】Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)
存儲(chǔ)服務(wù)器怎么搭建?RAKsmart實(shí)戰(zhàn)指南
解決HarmonyOS應(yīng)用中Image組件白塊問(wèn)題的有效方案

HarmonyOS實(shí)戰(zhàn):組件化項(xiàng)目搭建
評(píng)論