項(xiàng)目組件化淤堵,顧名思義,就是將項(xiàng)目中的各個(gè)模塊按照基礎(chǔ)組建什燕,功能組件粘勒,業(yè)務(wù)組件劃分成一個(gè)個(gè)單獨(dú)的模塊,以使得各個(gè)模塊間可以單獨(dú)開發(fā)屎即、測試庙睡、組合運(yùn)行。
一般公司在天使輪后產(chǎn)品閉環(huán)已經(jīng)確定技俐,就需要實(shí)施組件化來應(yīng)對(duì)A輪之后的業(yè)務(wù)擴(kuò)張乘陪。
但也不是非得等到這一步才開始,如果在項(xiàng)目初期實(shí)施組件化雕擂,雖然代碼量會(huì)有所增加啡邑,但是要把一個(gè)小項(xiàng)目組件化的難度也會(huì)小很多。
私有索引庫
私有索引庫的作用是存放.podSpec文件的井赌。當(dāng)你使用pod search AFN時(shí)谤逼,pod會(huì)在本地的索引庫中進(jìn)行搜索。
私有索引庫分為本地私有索引庫和遠(yuǎn)程私有索引庫仇穗,它們是相互對(duì)應(yīng)的流部。
本地私有索引庫
本地索引庫
可以發(fā)現(xiàn)只有一個(gè)master,這個(gè)是CocoaPods的本地索引庫,但它不是私有的纹坐,只要安裝過CocoaPods的電腦枝冀,都會(huì)有這么一個(gè)索引庫。它對(duì)應(yīng)CocoaPods的遠(yuǎn)程索引庫耘子。
由于它不是私有的果漾,所以我們需要自己創(chuàng)建一個(gè)私有索引庫。目前GitHub的私有代碼倉庫是需要money的谷誓,我們可以選擇碼云绒障、碼市等具有可以免費(fèi)創(chuàng)建私有代碼倉庫的代碼托管平臺(tái)。操作和GitHub是一樣的捍歪。就拿碼市做例子户辱。
遠(yuǎn)程私有索引庫
1.創(chuàng)建遠(yuǎn)程私有索引庫,復(fù)制倉庫地址费封。
創(chuàng)建遠(yuǎn)程私有索引庫
2.復(fù)制遠(yuǎn)程索引庫地址。
復(fù)制遠(yuǎn)程倉庫地址
3.打開終端蒋伦,將遠(yuǎn)程私有庫關(guān)聯(lián)到本地弓摘。
cd /Users/yufu/.cocoapods/repos
pod repo add LTSpec https://git.coding.net/lt1061961387/LTSpec.git
4.可以發(fā)現(xiàn)在Finder中多了一個(gè)LTSpec。這里就是我們用來存放組件的.podSpec文件的痕届。
LTSpec私有庫
私有代碼倉庫
代碼倉庫也分公私有韧献,因?yàn)槭枪镜捻?xiàng)目末患,不想暴露給別人,所以也需要建立私有代碼倉庫锤窑。
私有索引庫也屬于私有代碼倉庫璧针,只是從功能上分開。一個(gè)是用來存放代碼的渊啰,一個(gè)是用來存放.podSpec文件的探橱。
私有代碼倉庫也分為本地私有代碼庫和遠(yuǎn)程私有代碼庫,它們也是相互對(duì)應(yīng)的绘证。
本地私有代碼庫
1.在我們的主工程的同級(jí)目錄下隧膏,創(chuàng)建我們的組件工程,比如我的主工程在我的桌面的LTMainProject目錄下嚷那,我想抽取主工程里的網(wǎng)絡(luò)通信模塊胞枕。使用CocoaPods的模板在終端輸入:
cd /Users/yufu/Desktop/LTMainProject
pod lib create LTNetworking
2.將自己抽取出的組件拷貝到創(chuàng)建的模板工程中
抽取的組件代碼
3.修改組件的.podSpec文件
修改文件
遠(yuǎn)程私有代碼倉庫
1.創(chuàng)建遠(yuǎn)程私有代碼倉庫
網(wǎng)絡(luò)通信組件的私有代碼倉庫
2.提交本地私有模板組件代碼到遠(yuǎn)程私有代碼倉庫,并打上tag標(biāo)簽
cd /Users/yufu/Desktop/LTMainProject/LTNetworking
git add .
git commit -m '創(chuàng)建網(wǎng)絡(luò)通信組件'
git tag '0.1.0'
git remote add origin git@git.coding.net:lt1061961387/LTNetworking.git
git push -u origin master
git push --tag
3.對(duì)文件進(jìn)行本地驗(yàn)證和遠(yuǎn)程驗(yàn)證
cd /Users/yufu/Desktop/LTMainProject/LTNetworking
pod lib lint --private
pod spec lint --private
4.將驗(yàn)證通過的.podSpec文件加入到本地私有索引庫魏宽,并上傳到遠(yuǎn)程私有索引庫
pod repo push LTSpec LTNetworking.podspec
5.在LTSpec路徑下就會(huì)出現(xiàn)LTNetworking
LTNetworking.podspec
6.查看遠(yuǎn)程私有索引庫
遠(yuǎn)程私有索引庫
7.使用終端查看自己的私有組件
pod search LTNetworking
pod search LTNetworking
現(xiàn)在就可以使用pod安裝自己的私有組件了腐泻。
安裝私有組件
打開終端一頓操作猛如虎
cd /Users/yufu/Desktop/LTMainProject/LTMainProject
vim Podfile
添加source ‘https://git.coding.net/lt1061961387/LTSpec.git’
添加pod 'LTNetworking'后退出
pod install
打開主工程發(fā)現(xiàn)組件已經(jīng)乖乖躺在Pod里了
集成組件成功
集成完成。