一、組件庫的價值
- 就個人而言,擁有一套自己的組件庫,可以讓你的開發變得更高效,讓你在行業里更有價值。
- 就團隊而言,擁有一套團隊的組件庫,可以讓協同開發變得更高效規范,讓你的團隊在公司更具有影響力。
- 就公司而言,擁有一套公司維護的開源組件庫,可以讓你的公司在行業里更具有影響力。
二、哪些情況需要整合一套組件庫
- 從業務上看,當業務達到一定規模后,很多地方需要復用
- 從設計上看,產品要遵循一定的設計規范來保持統一性
- 從開發上看,對開發效率要求高,需要快速迭代和響應開發需求
- 從維護上看,需要統一代碼管理,需要達到更改一處全局響應的高可維護性
三、組件設計應遵循什么原則
- 就近管理
1. 單文件開發
2. 依賴的靜態資源放在同級目錄
3. 相關聯組件也放在同級目錄 - 高復用性
1. 頁面級別的復用(基礎組件)
2. 項目級別的復用- 私有組件庫(業務組件)
3. 公司級別的復用- 開源組件庫(element-ui、iview) - 分層設計
分層架構分為四個層:展示層(presentation layer),業務層(business layer),持久層(persistence layer)和數據庫層(database layer)。
由於每一層都是封閉的,所以request必須逐層向下傳遞。那么為什么每一層都是封閉的呢,因為有個概念叫層隔離。層隔離就是說架構中某一層的改變不會影響到其他層,這些變化的影響范圍僅限於當前層。
假如展示層和業務層都能夠直接訪問持久層,那么當持久層的數據變化時,會直接影響到展示層和業務層,這使得整個應用的耦合度變高了,使得組件之間相互依賴,降低了可維護性。
- 靈活擴展
組件要充分的考慮擴展性,除了提供豐富的props還要提供slot插槽來完成用戶的定制化需求。或者提供可利用render函數動態渲染的功能。