组件化开发 ——— 制作私有库
組件化開發 ——— 制作私有庫
上篇文章大致說了組件化優缺點及內容,現在就針對公共基礎組件制作私有庫的問題繼續搞起來。
我們的原則是:將一個項目組件化拆分掉,一般會拆分一些基礎組件、一些功能組件和業務組件。將拆分好的組件放到遠程倉庫,統一通過Cocoapods進行管理。
我們先來了解一些概念:
如上圖所示: 遠程索引庫、本地索引庫、遠程代碼庫、本地代碼庫。項目先通過拆分demo 中的category的基礎組件來說這四個概念。
一、遠程索引庫
什么是遠程索引庫? 每創建一個組件都會帶有一個 xxx.podspec 的索引文件。專門用來存放這些索引文件的庫就叫做索引庫。我們需要將這些索引文件上傳到遠程索引庫才能保證其他的同事能夠拿來用 復制代碼創建遠程索引庫( 注:在自己公司的項目創建private的私有索引庫, 要是有組件想開源,在github上創建public的索引庫即可,私有索引的步驟和pubic的操作方式一樣)
遠程索引庫已經創建成功,可以看到遠程索引庫的地址,
二. 本地索引庫 (本地索引庫就是用來存放本地索引文件的庫)
1.打開終端 pod repo 查看一下當前有哪些本地索引庫(如果你之前沒有創建過,應該只有一個master)
2.通過pod repo add <本地索引庫的名字> <遠程索引庫的地址> ,創建本地索引庫并和遠程索引庫做關聯(注:本地索引庫的名字建議和遠程索引庫起的名字一樣)
3.通過前往文件夾 "/用戶/climbwang/.cocoapods "可以查看本地索引庫的物理地址:
三、遠程代碼庫 (代碼實際存放的遠程倉庫)
創建遠程代碼倉庫(和創建遠程索引庫的方式一樣),創建一個WMCategoryKit的遠程代碼庫,用來存放WMCategory組件的代碼。同樣獲取到WMCategoryKit組件的遠程代碼庫地址。
四、本地代碼庫
創建WMCategoryKit組件本地代碼庫
1.cd到你想存代碼的路徑, pod lib create <組件名> , 來創建本地代碼組件模版庫,根據需要做選擇:
2.在組件WMCategoryKit的classes路徑下放入你想做為組件的代碼
3.接著cd到Example下進行pod install (把剛才拖入到classes里的文件夾pod進來)
4.pod成功后,編譯組件看是否報錯,編譯通過后需要修改podspecs索引文件,一般需要修改下面幾個問題:
這塊要注意的就是,組件庫有沒有子文件夾的問題:```沒有子文件夾的話,所有類都是只在WMCategoryKit下面,在source_files路徑填就可以。有子文件夾的話,需要注釋source_files,然后如圖,在s.subspec里 填寫子目錄層級內容。``` 復制代碼5.編譯運行通過后,提交組件到遠程代碼庫并打tag:
```- git add .- git commit -m “xxx"- git remote add origin 遠程代碼倉庫地址- git push origin master- git tag 版本號 (注:這里的版本號必須和podspec里寫的版本號一致)- git push --tags``` 復制代碼6.通過pod spec lint (或pod spec lint --verbose --allow-warnings) 命令驗證podspec索引文件
7.驗證通過后,pod repo push <本地索引庫> <索引文件名>
```pod repo push WMSpecs WMCategoryKit.podspec```去本地查看: 復制代碼8.然后在需要用到的項目里,修改podfile,把WMCategoryKit組件pod進來(注:需要在Podfile中指定組件遠程索引庫地址,如果不指定默認會從master的索引庫查找就會報找不到組件)
然后 pod install 成功后查看項目:
到這里,組件制作私有庫并上傳到gitlab,完成所有項目都可以pod此組件的功能。
總結
以上是生活随笔為你收集整理的组件化开发 ——— 制作私有库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 647. Palindromic Sub
- 下一篇: sql server的远程连接