在了解了Vue全家桶之后,我們就擁有了快速開發(fā)的基礎(chǔ)了亚脆,但是初涉者開始新的工程還是會(huì)比較艱難做院,至少效率會(huì)很低。此時(shí),可以借用一些三方的模板來(lái)提高對(duì)Vue全家桶的熟悉程度——一方面可以學(xué)習(xí)對(duì)應(yīng)的模塊和代碼組織結(jié)構(gòu)键耕,另一方面也可以直接進(jìn)行復(fù)用寺滚。
一、Vue控制臺(tái)模板
1.1 模板
在開始后臺(tái)控制系統(tǒng)時(shí)屈雄,搜尋了幾個(gè)較好的模板村视,以供參考使用:
https://github.com/sailengsi/sls-admin
https://github.com/lin-xin/vue-manage-system
https://github.com/vanishcode/iview2-management-system
1.2 學(xué)習(xí)復(fù)用
1.2.1 項(xiàng)目結(jié)構(gòu)
1、build酒奶、config:webpack編譯配置文件蚁孔;
2、dist:編譯后文件惋嚎;
3杠氢、src:項(xiàng)目功能源文件;
4另伍、static:不進(jìn)行編譯的靜態(tài)文件鼻百;
二、組件庫(kù)
之前在Vue全家桶中摆尝,介紹過vue-router温艇、vues和vue-axios,這些都是vue組件庫(kù)堕汞。而且勺爱,除了這些組件庫(kù)之外,還有很多第三方組件庫(kù)讯检,例如一中提到的例子中就有兩個(gè)組件庫(kù)——element-ui琐鲁、iView。
第三方組件庫(kù)视哑,主要以UI組件庫(kù)為主绣否,根據(jù)需要適當(dāng)引入有助于提高開發(fā)效率(一般選擇性引入一個(gè)即可)誊涯。
其他一些第三方UI組件——http://www.reibang.com/p/2e53c4454d8b
三挡毅、模塊化組件
3.1 第三方庫(kù)的缺點(diǎn)
雖然使用第三方UI組件可以提高開發(fā)效率,也可以在一定程度上統(tǒng)一控件風(fēng)格暴构,對(duì)穩(wěn)定性也有一定的好處跪呈,但同時(shí)也存在一些缺點(diǎn):
1、缺乏個(gè)性化定制取逾;
2耗绿、引入過多控件增加代碼量;
3砾隅、控件缺乏完整性误阻;
3.2 自定義組件
關(guān)于Vue組件庫(kù),其實(shí)和常規(guī)的前端開發(fā)一樣,對(duì)于較大型項(xiàng)目形成自有的組件庫(kù)是勢(shì)在必行的究反。
自定義組件要義:
1寻定、統(tǒng)一規(guī)劃,保證控件一致性精耐;
2狼速、模塊化組織,靈活劃分結(jié)構(gòu)卦停;
3向胡、保證擴(kuò)展,避免多余惊完;
4僵芹、保證獨(dú)立性、通用性小槐;
3.2.1 統(tǒng)一規(guī)劃淮捆,保證控件一致性
控件的一致性包括UI設(shè)計(jì)的一致性和接口設(shè)計(jì)的一致性。
UI設(shè)計(jì)的一致性不僅保證了界面風(fēng)格的一致本股,也在一定程度上保證了控件的可復(fù)用性攀痊;而接口設(shè)計(jì)的一致性,一方面可以避免冗余控件的產(chǎn)生拄显,另一方面也為多人協(xié)作提供了更多的方便和效率苟径。
3.2.2 模塊化組織,靈活劃分結(jié)構(gòu)
在進(jìn)行模塊化組織時(shí)躬审,劃分的細(xì)致性可以在最大程度上保證復(fù)用性棘街,但是過度的細(xì)致,也會(huì)造成冗余控件的產(chǎn)生承边,從而導(dǎo)致自定義組件靈活性的優(yōu)勢(shì)蕩然無(wú)存遭殉。所以模塊化時(shí)一定要結(jié)合需求和功能進(jìn)行綜合考慮。
3.2.3 保證擴(kuò)展博助,避免無(wú)用
在進(jìn)行組件開發(fā)時(shí)险污,經(jīng)常會(huì)做一些橫向或縱向的擴(kuò)展性開發(fā)。例如富岳,需要一個(gè)日期選擇控件時(shí)蛔糯,會(huì)考慮同時(shí)開發(fā)一個(gè)時(shí)間選擇控件,或者干脆做一個(gè)日期時(shí)間選擇控件窖式;這樣固然有可能為以后的開發(fā)做好準(zhǔn)備蚁飒,但同時(shí)也可能永遠(yuǎn)也用不上,于是很容易落入一個(gè)無(wú)用功的陷阱(當(dāng)然專門開發(fā)控件庫(kù)例外)萝喘。在一個(gè)有限的項(xiàng)目中淮逻,要盡量做到按需開發(fā)琼懊,避免做出無(wú)用的控件,同時(shí)預(yù)留接口保證以后的擴(kuò)展開發(fā)的可能性爬早。
3.2.4 保證獨(dú)立性肩碟、通用性
雖然自定義組件某方面是基于個(gè)性化的優(yōu)勢(shì)做出的選擇,但同時(shí)卻也不能忘記組件通用性的基本特性凸椿。一方面削祈,可能以后其他的項(xiàng)目也會(huì)用到相關(guān)組件,另一方面也有可能隨著項(xiàng)目的發(fā)展可以形成廣泛應(yīng)用的組件庫(kù)呢脑漫?當(dāng)然髓抑,有些組件的個(gè)性化限制了其通用性的可能,但是也可以進(jìn)行相應(yīng)的劃分优幸,盡可能將普遍性的部分獨(dú)立出來(lái)吨拍,而個(gè)性化的部分則作為補(bǔ)充,如此就可以在一定程度上保證復(fù)用了网杆。
四羹饰、總結(jié)
本篇主要介紹關(guān)于組件的開發(fā)和應(yīng)用,在入門和初學(xué)階段碳却,要學(xué)會(huì)持續(xù)重構(gòu)來(lái)形成對(duì)應(yīng)的組件队秩。
個(gè)人認(rèn)為持續(xù)重構(gòu)是一個(gè)程序員應(yīng)該具有的基本素質(zhì)之一。而這對(duì)于組件的開發(fā)也尤其重要昼浦,不僅可以減少代碼冗余馍资,保證擴(kuò)展和復(fù)用,而且對(duì)于代碼結(jié)構(gòu)的清晰也有很大的好處关噪。
組件庫(kù)從來(lái)都不是一蹴而就的鸟蟹,而是在不斷地重構(gòu)中不斷形成和完善的。