關於模塊化和組件化的一些認識

從幾個月前開始接觸前端,我就聽到一句話:保持內容、樣式、行爲的分離是一個良好而且必要的習慣。因此我一直以來的模式是:HTML=>CSS=>JavaScript,也就是先把內容填充好了,而後寫CSS,一看大概頁面差很少了,用JS寫一些行爲,好比點擊啦滾動啦什麼的,而後萬事大吉!前端

然而早就據說了webpack,最近開始學習,而後發現須要nodeJS,而後又瞭解瞭解nodeJS,又知道了commonJS,又接觸到了模塊化、組件化這些詞,意識到我本來的方式好像並非內容樣式行爲分離的模式。首先,JS代碼和DOM強耦合,也就是HTML裏隨便改個class或者id,可能致使整個頁面完蛋,因此這種方式只能說是形離神不離。node

因此我又查閱相關資料,頁面能夠說是由一個個組件構成,組件又由一個個實現某功能的模塊構成,因此模塊化和組件化能夠實現代碼的複用,有一篇文章提出了一種說法:webpack

不少人以爲模塊化開發的工程意義是複用,我不太承認這種見解,在我看來,模塊化開發的最大價值應該是分治,是分治,分治!(重說三)。web

無論你未來是否要複用某段代碼,你都有充分的理由將其分治爲一個模塊。閉包

因此個人理解是,將頁面分紅一個個組件,各組件互不干擾,分別開發,可隨意組合,組件包括有JS模塊和CSS模塊,JS模塊利用命名空間、閉包等方式將想要暴露的屬性暴露出來(或者AMD/CMD/ES6 Module等方式)。模塊化

 

目前依然在學習中,理解有限,不免有錯,深刻學習後再改。組件化

相關文章
相關標籤/搜索