1、定義css
工程化即系統化、模塊化、規範化的一個過程。 若是說計算機科學要解決的是系統的某個具體問題,或者更通俗點說是面向編碼的,那麼工程化要解決的是如何提升整個系統生產效率。html
2、爲何須要前端工程化前端
前端愈來愈複雜,設計的問題和環節也愈來愈多,不採用工程化管理,就沒法很好的實現團隊協同和下降複雜性。 緣由以下:後端
前端範疇不斷擴大
早期的前端只須要適配桌面瀏覽器,而如今的前端,須要適配不一樣類型和尺寸的設備,包括移動端網頁,app應用等。
前端工程化
2.先後端分離
瀏覽器
早期的前端只是後端 MVC 框架的一層模塊, 而如今的前端廣泛是從後端接口獲取數據,編寫處理邏輯,各類前端mvc前端框架也層出不窮。
sass
3.模塊化開發的出現
前端框架
如今的前端開發再也不是從零寫起,重複造輪子,而是會引用大量內部和外部的組件和模塊,這也致使前端必須進行模塊管理。
mvc
4.轉碼器的盛行
app
爲了提升效率,前端工程每每不會直接寫html,css,和js代碼,而是改用其餘格式書寫,再用工具編譯爲目標格式。
好比用Jade 寫HTML,用less、sass、stylus 編寫CSS,用ES六、Typescript編寫JavaScript。
5.開發流程和團隊
早期的前端團隊每每只有幾我的,而如今的前端團隊能夠擴展到幾十人,甚至上百人。每一個人只負責本身的一塊內容。
因此,如何協調多人多團隊的工做,保證溝通順暢,保證權限管理,愈來愈成爲一大問題。
3、前端工程化的具體內容
1.代碼規範: 保證團隊全部成員以一樣的規範開發代碼。
2.分支管理: 不一樣的開發人員開發不一樣的功能或組件,按照統一的流程合併到主幹。
3.模塊管理: 一方面,團隊引用的模塊應該是規範的;另外一方面,必須保證這些模塊能夠正確的加入到最終編譯好的包文件中。
4.自動化測試:爲了保證和並進主幹的代碼達到質量標準,必須有測試,並且測試應該是自動化的,能夠迴歸的。
5.構建:主幹更新之後,自動將代碼編譯爲最終的目標格式,而且準備好各類靜態資源,
6.部署:將構建好的代碼部署到生產環境。