一、前端工程化是一種思維而不是技術(shù)。是使用軟件工程的技術(shù)和方法來進行前端的開發(fā)流程、技術(shù)、工具、經(jīng)驗等規(guī)范化、標(biāo)準(zhǔn)化。在其過程中,一般會涉及到構(gòu)建工具、模塊化、組件化、自動化和持續(xù)集成。其主要目的為了提高效率和降低成本,即提高開發(fā)過程中的開發(fā)效率,減少不必要的重復(fù)工作時間。
二、模塊化就是將一個大文件拆分成相互依賴的小文件,再進行統(tǒng)一的拼裝和加載。一個模塊就是一個實現(xiàn)特定功能的文件,有了模塊我們就可以更方便的使用別人的代碼,要用什么功能就加載什么模塊。優(yōu)點:避免變量污染,命名沖突;提高代碼復(fù)用率; 提高維護性;依賴關(guān)系的管理。像vue3、lodash-es(不要用lodash)。
三、組件化是一種將頁面結(jié)構(gòu)和行為進行拆分,是對UI的拆分。這樣更利于維護和重用代碼。舉個例子,Refrigerator.js實現(xiàn)了冰箱的開啟、關(guān)閉、急凍、保鮮功能。B組件要使用開啟功能,那么就可以只引入Refrigerator.js的開啟方法;C組件要保鮮,那么只需要引入保鮮功能。這樣Refrigeratorjs就是一種模塊化開發(fā)(注意模塊化寫法)。
四、自動化應(yīng)該指的是自動化工具了,包括自動化部署、自動化測試等等