前言
鴻蒙應用開發已經成為互聯網新的風口,開發鴻蒙軟件已經成為今年工作的核心目標。在軟件開發過程中,對于復雜度較大,功能較多的軟件都會采用組件化項目架構,那么對于鴻蒙應用開發是否也能實現組件化呢?本文將詳細講解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
+關注
關注
79文章
2054瀏覽量
32167
發布評論請先 登錄
相關推薦
熱點推薦
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
鴻蒙Flutter實戰:09-現有Flutter項目支持鴻蒙
# 鴻蒙Flutter實戰:現有Flutter項目支持鴻蒙
## 背景
原來使用Flutter開發的項目,需要適配鴻蒙。
## 環境搭建
見文章[鴻蒙Flutter適配指南],
發表于 10-23 16:36
鴻蒙Flutter實戰:08-如何調試代碼
# 鴻蒙Flutter實戰:如何調試代碼
## 1.環境搭建
參考文章[鴻蒙Flutter實戰:01-搭建開發環境](https://gitee.com/zacks
發表于 10-23 16:29
【全新課程資料】正點原子《基于GD32 ARM32單片機項目實戰入門》培訓課程資料上線!
正點原子《基于GD32 ARM32單片機項目實戰入門》全新課程資料上線啦!徹底解決ARM32單片機項目入門難的問題!
一、課程介紹
本課程專為ARM32單片機的入門學習者設計,涵蓋了環境搭建
發表于 09-24 18:06
【全新課程資料】正點原子《ESP32基礎及項目實戰入門》培訓課程資料上線!
系統教學,內容包括環境搭建、編程軟件使用、外設基礎知識、模塊驅動及多個實戰項目。課程旨在幫助學員掌握ESP-IDF開發流程,并深入了解ESP32的多個外設原理與應用!
基礎課程:環境搭建
發表于 09-24 17:59
【全新課程資料】正點原子《ESP32物聯網項目實戰》培訓課程資料上線!
,涵蓋了環境搭建、編程軟件使用、模塊基礎驅動、物聯網基礎知識和多個實戰項目等等。在物聯網項目的選擇上,我們深思熟慮,選擇了生活和生產中常用的方案,旨在讓大家學以致用!
入門
發表于 09-24 17:05
請問ESP32 IDF如何查看項目內的組件?
開發環境: vscode + IDF (ubuntu 20.04)
IDF版本:V5.0
問題描述:
如何查看工程項目內已經存在的組件?
由于在創建自己組件的時候,如何不小心與工程內已有
發表于 06-12 08:08
評論