一毁嗦、項目使用技術棧:
vue2狗准、 vue-router茵肃、 vuex、 axios验残、關于ui的框架選取,依項目而定(例如pc版element ui您没,ivew ui,移動端 mint ui)紊婉。
二、項目的搭建:
個人習慣使用vue-cli腳手架構建項目槽片,項目使用vue-cli腳手架工具生成項目結構如下:
同時还栓,對于靜態(tài)文件而言剩盒,可以放在static文件夾便于統(tǒng)一緩存處理辽聊,static文件夾目錄如下:
對于項目結構而言期贫,個人認為對于項目各功能模塊的統(tǒng)一集中單一的設計劃分便于維護管理,故src目錄設計如下:
目錄配置說明如下:
1烤蜕、api接口文件迹冤,用來對請求接口進行統(tǒng)一的配置,便于維護;
2橱鹏、config用來定義常用的配置
3堪藐、Filter用來定義過濾器
4、Http:用來定義請求攔截器,統(tǒng)一的請求攔截配置贪惹,如果對安全性要求較高也可以統(tǒng)一對請求加密奏瞬。
5、Lang國際化多語言包(非國際化項目不需要此目錄)
6并淋、Router定義統(tǒng)一的路由文件珍昨,便于管理維護和監(jiān)聽。
7兔毙、store狀態(tài)管理兄春,對于大型項目而言,盡量在modules里面按功能劃分不同的狀態(tài)文件哑姚,而非耦合在一起芜茵,而且盡量只對數(shù)據(jù)的操作進行處理夕晓,對于其它的操作不建議放在vuex里面(例如axios數(shù)據(jù)請求),而保持單一的數(shù)據(jù)處理功能。
8、utils常用方法谆奥,功能的封裝,高可用性宰译,減少重復魄懂。
9、補充如果有需要自定義指令之類的缀拭,也可能新增指令文件填帽。
配置功能組件Components功能模塊劃分設計如下:
說明:
1篡腌、common用來存放通用組件 ;
2、home組件用來分放各個功能模塊叛甫,示例代碼如下:
3绘迁、systemManage作為一個功能模塊缀台,通過index.vue文件進行本模塊各功能的路由分放。切換不同的功能頁面膛腐。Index.vue示例代碼如下:
三哲身、項目的注意事項:
1辩涝、對于通用組件的封裝重構,可以提高復用性;
2勘天、關于父子組件傳參怔揩,盡量使用props,emit而非vuex,vuex用于多組件之間捉邢。
3、不建議使用scope商膊,破壞了css的共享性;同時也不建議在組件里面style寫樣式伏伐,如果按需加載時,多組件共享樣式晕拆。會發(fā)生樣式未加載情況藐翎。
4、遵守項目的編碼規(guī)范实幕。
補充:
個人負責的vue項目的架構實際使用經(jīng)驗而言,項目在使用三百多個路由時,未發(fā)現(xiàn)問題昆庇,同時對于大型系統(tǒng)的項目末贾,個人感覺可以拆分成不同的子系統(tǒng)進行組合,不過沒有機會實踐整吆。