一個工程其實就是一個項目,好比一個網站或者一個 APP。普通的程序員,大部分狀況下,都是處於其中的一個環節。要學習工程化,就須要先了解工程化的整個生命週期。前端
圖示中已是我簡化過的內容了,實際的過程更加複雜,其中會牽扯到很是多的人力物力財力以及要花費至關大的管理成本。一個工程從立項到交付上線的整個過程當中,必定會使用到各類工具。webpack
那麼工程化,其實就是完成項目過程當中,用到的各類工具和技術。固然,這只是從簡單的落地應用的角度來講的,工程化是很是複雜的。程序員
回到前端編程的範疇中,你會發現,整個項目的後半部分纔是咱們須要關注的。而這一部分,也就是咱們所說的前端工程化的內容了。web
什麼是前端工程化?前端工程化就是經過各類工具和技術,提高前端開發效率的過程。編程
這句話有兩個含義:前端工程化
1:前端工程化的內容:各類工具和技術。瀏覽器
2:前端工程化的做用:經過使用工具,提高開發效率。服務器
1:項目上線前,代碼須要壓縮。markdown
2:想要使用 ES6+ 或 CSS3 新特性,要解決兼容性問題。框架
3:想要使用 Less 加強 CSS 的編程性,可是瀏覽器不能直接支持 Less。
4:多人協做開發,代碼風格沒法統一。
前端工程化解決的問題很是多,簡而言之就是項目上線前的壓縮代碼,對 ES6+ 或 CSS3 新特性進行轉換,對 Less 等 CSS 的預編譯語言進行編譯處理以及對不一樣代碼風格的格式化等等,那相對應地也就出現了各類各樣的工具,簡單給工具分一下類別:
每一個類別下,都有不少不一樣的處理工具,我使用一個表格作了不徹底的統計:
可是必定要強調一下,現階段工程化工具都異常強大,致使不少人對工程化存在誤解,認爲某個工具就是工程化了,好比webpack,這種思想要不得。
最後,前端工程化之因此成功和繁榮,有一個關鍵性角色,不容忽視,那就是 Node.js,能夠這麼說,前端工程化就是在 Node 的基礎上發展的;
因此,做爲前端程序員,Node 其實不是一個框架,更不是單純寫後臺服務器的語言,不會 Node 的前端,必定不是好碼農。