目前來說,Web業務日益復雜化和多元化,前端開發已經由以模式為主轉變為以模式為主了。現在隨便找個前端項目,都已經不是過去的拼個頁面+搞幾個插件就能完成的了。工程復雜了就會產生許多問題,比如:如何進行高效的多人協作?如何保證項目的可維護性?如何提高項目的開發質量?...
前端工程化是前端架構中重要的一環,主要就是為了解決上述大部分問題的。而前端工程本質上是軟件工程的一種,因此我們應該從軟件工程的角度來研究前端工程。
那么前端工程化需要考慮哪些因素?
本人總結經驗前端自動化是什么意思,認為前端工程化主要應該從模塊化、組件化、規范化、自動化四個方面來思考,下面一一展開。
## 模塊化
簡單來說,模塊化就是將一個大文件拆分成相互依賴的小文件,再進行統一的拼裝和加載。只有這樣,才有多人協作的可能。
### JS的模塊化
在ES6之前,一直沒有模塊系統,這對開發大型復雜的前端工程造成了巨大的障礙。對此社區制定了一些模塊加載方案,如、AMD和CMD等,某些框架也會有自己模塊系統,比如.x。
現在ES6已經在語言層面上規定了模塊系統,完全可以取代現有的和AMD規范,而且使用起來相當簡潔,并且有靜態加載的特性。
規范確定了前端自動化是什么意思,然后就是模塊的打包和加載問題:
1. 用+Babel將所有模塊打包成一個文件同步加載,也可以打成多個chunk異步加載;
2. 用+Babel主要是分模塊異步加載;
3. 用瀏覽器的