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