模組化日常:庫間互相依賴

EyreFree發表於2018-01-02

主角:BKit

起因:某同學需要抽離使用者登陸與註冊邏輯獨立為 AModule 模組,做到一半發現需要依賴 BKit 元件,而由於眾所周知(大家都知道,然而就是沒人管)的原因,這個元件並不能單獨編譯,這樣的話 AModule 模組也沒法編譯了(發不發版另算,現在是編譯都沒辦法進行的問題)。

經過:於是我就臨時做起了使 BKit 編譯通過的任務(因為本來就說好要拆分它,不過不是現在,所以不能立刻 / 馬上就能見效)。上手就發現,BKit 依賴了一個名為 PService 的庫,然後去看了一眼這個庫,CocoaPods 沒發版。Clone 之,編譯失敗,看了一眼,PService 依賴了 BKit 庫。幹得漂亮,又給繞回去了。你們倆這麼藕斷絲連,當初為啥不放在一起呢?然後琢磨起 PService 程式碼,發現 BKit 主要是用到了其中的一個 model,沒有其他引用了。遂將該 model 從 PService 移到了 BKit,倆庫都編譯成功,皆大歡喜,大功告成(中間因為 podfile 少加一個 source 找了倆小時,嗯,要堅強)。

結論:元件化是個坑,踩下去的同學才知道有多深。


如有任何智慧財產權、版權問題或理論錯誤,還請指正。
https://juejin.im/post/5a4b5202518825519408fda6
轉載請註明原作者及以上資訊。

相關文章