項目開發(fā)中經常將具有共用性的模塊剝離出來制作成公用庫,以供其他模塊調用。這樣不但能夠減少項目中的冗余代碼量,而且能夠在一定程度上保證代碼的一致性,提高代碼質量。
下面就來說一下HarmonyOS開發(fā)中共享包(共用庫)的制作,HarmonyOS提供了靜態(tài)共享包和動態(tài)共享包兩種形式,這里說的是靜態(tài)共享包。
制作靜態(tài)庫

新建靜態(tài)庫.jpg
如圖,在新建模塊中選擇靜態(tài)庫,依照ide提示完成新建。
實現(xiàn)共享庫

實現(xiàn)api.jpg
實現(xiàn)共享庫common_lib的功能,新建Network.ets,并提供靜態(tài)方法getRequest。注意Network類前面的export關鍵字,這表示這個類可以被導出使用。
聲明可導出類

聲明可導出類.jpg
實現(xiàn)完共享庫中需要供外部調用的功能后,還需要在Index.ets中進行聲明:
export { Network} from 'xxx/xxx',其中Index.ets是靜態(tài)庫中已有的文件,export中的Network是導出文件名,from后面是引用路徑。
引用靜態(tài)庫

項目中引用共享庫.jpg
在需要引用共享庫的模塊中聲明所引用共享庫的信息。如圖在oh-package.json5中聲明的引用的共享庫名稱為
common_lib(該名稱與common_lib庫在其模塊中的名稱相同),并且提供了兩種引用方式,一種是源碼引用,另一種是引用.har靜態(tài)包。這兩種方式都是本地引用的方式,另外還有在線引用的方式。
注意.har靜態(tài)包需要先在common_lib模塊中打包生成.har,具體方式是:選中common_lib - Build - Make Module 'Common_lib',完成后會在build/outputs文件夾下生成har靜態(tài)包。

生成har.jpg
使用靜態(tài)庫

使用共享庫.jpg
導入靜態(tài)庫之后就可以使用其提供的能力,比如這里調用了靜態(tài)庫中Network的getRequest方法。