一些是本身的想法,另外一些是看博客或者書籍裏面得出的,隨手記在這裏。php
-
基於頁面的開發
最初的前端資源模式是基於頁面的,像最開始接觸web、開發web時候,通常是新建頁面-引入jQuery-新建index.css\page-1.css\page-2.css等-新建index.js\page-1.js等,徹底是基於頁面的。基於頁面的靜態資源管理是最開始「刀耕火種」的產物,卻是比再久以前寫內聯樣式、script標籤要好的多(實現了頁面樣式\腳本和頁面骨架之間的分離,可是屬於很粗淺的分離),可是這種模式在使用中就暴露了不少問題:(1)資源重複:不少頁面樣式代碼\js函數代碼都是在不斷重複;開發不少時候是CTRL+C\V,而後再改一個小參數而已;(2)維護困難:若是須要修改某頁面中的一個按鈕,須要翻到對應的page-x.css,而後再手動修;若是別的頁面也有類似按鈕,就須要再找到另外一個文件,徹底是人工的浪費時間的修改維護;(3)開發難度大:這種基於頁面的隨性方式給了開發者不少空間, 沒必要管XXX,作出來就行;可是若是從頁面級別上升到業務級別,在整套的業務代碼下的開發就變得蛋疼了;頁面引入了十幾個js文件,window.onload函數不知不覺被寫了多遍或者形成了全局變量污染命名空間的事情;靜態資源管理也出現了問題,一個頁面引了十幾個文件,若是須要調整,則手動到模板文件裏修改;頁面越大、邏輯越複雜這種模式的弊端就越明顯。這種基於頁面的開發讓我想起了在面試時跟面試官說的一道問題,老大問我」你對模塊化是怎麼看的「,我當時舉了個例子說」原來的這種寫法和不用框架、不用模式寫php同樣,意大利麪條似的開發,代碼混成一片「。因此這種模式面臨的問題須要解決,解決方案也就是模塊化和組件化。