許多團(tuán)隊(duì)在制定前端工程方案時會加入腳手架模塊。雖然不同的團(tuán)隊(duì)對工程化的理解和實(shí)施有所差異,但是對于腳手架的定位基本是一致的:創(chuàng)建項(xiàng)目初始文件。這是一條看起來十分簡單地準(zhǔn)則,但是對于這條準(zhǔn)則應(yīng)該如何理解,如何實(shí)施卻并不是一件很簡單地事情。
在探索這條準(zhǔn)則的深度之前,我們不妨看看類似的一些成熟方案,比如Eclipse。這個大名鼎鼎的IDE軟件被很多Java和Android開發(fā)者使用。通過Eclipse創(chuàng)建一個新項(xiàng)目時,它提供了豐富的配置項(xiàng),這些配置項(xiàng)可以歸納簡化為以下流程:選擇項(xiàng)目類型 -> 選擇項(xiàng)目目錄 -> 配置項(xiàng)目細(xì)節(jié) -> 最終確認(rèn) -> 完成。這是腳手架最基本也是必須具備的流程。從這個流程中可以總結(jié)出腳手架的本質(zhì):方案的封裝。
由此,我們明確了腳手架的定義:腳手架作用是創(chuàng)建項(xiàng)目的初始文件,本質(zhì)是方案的封裝。
當(dāng)然,腳手架創(chuàng)建項(xiàng)目流程之中還有很多細(xì)節(jié),并且前端項(xiàng)目的多樣性和復(fù)雜性更加為腳手架流程的實(shí)現(xiàn)增加了難度。這篇文章簡單闡述一下筆者的一些淺見,希望能夠給大家一些啟發(fā)。
1. 腳手架在前端工程中的角色
1.1 “用完即棄”的腳手架
之前寫過一篇淺析前端工程化,簡單介紹了前端工作流模型,簡化之后可以用下圖概括: