模組化、元件化是一種開發思想,是一種開發思路上的解決方案,我們大多數人要是沒有深入理解 這個概念的話,會有一種模糊摸不著模組化、元件化意思的感覺,會有一種想用模組化、元件化來實現專案卻不知道怎麼下手。其實,只要記住,模組化只是一種思想,不是一種具體的解決方案。
在專案中,我們可能用到類似bootstrap裡的元件(button)一樣,我們把這些元件理解為元件化開發的實現,意識上,我們大多數人會刻意去區分元件化、模組化,其實這只是我們中文上去區分,英文上都是model,都只是一種解決思路,不同的是,需求不同,實現出來的程式碼效果也是不同。舉個例子,bootstrap裡的button元件,它是有一個獨立的可執行的單員,就直接引用,在頁面上你就會看到一個button的按鈕出現,這也就是所說的顆粒化,而bootstrap裡的柵格系統,你不可能單單引用柵格系統的樣式類,頁面中就會呈現出具體的效果出來,還需依賴一個具體的html標籤或者其他的元件,而button元件是不需要依賴其他的元件或者什麼的,人們就會慣性的理解成button是一個元件,柵格系統是一個模組,因為button是獨立的。其實,他們都一樣,只是需求不同,都是用模組化的思路解決方案。button的需求是開發一個ui元件,柵格系統是開發一個排版佈局的佈局解決方案。
事實上,模組化(元件化、模組化總稱為模組化吧,不區分了)在我們實際專案開發上回很常用到,容易理解的是開發一個下拉框通用元件這種封裝好的元件,難以理解的就是定義一個margin外邊距的一系列的屬性樣式集合,比如margin:10,margin:20,margin:30等,這也是一個模組,定義的一個實現不同外邊距的需求的模組實現。
當然,模組化說了是一種思路,不僅僅是體現在具體的程式碼邏輯上,還體現在檔案管理上,頁面佈局等等,比如,webpack模組化管理工具上實現的多個入口的配置,按照頁面或者頁面中的不同模組區域對js/css圖片等進行壓縮整合按照不同頁面呈現、不同模組區域呈現匯入不同的檔案,這也是模組化的思維。
以上是小可對模組化的一些理解,有錯誤請江湖上各位好友指正,嘻嘻~多多交流,一起成長進步~