首先 gulp 和 browserify / webpack 不是一回事
gulp應(yīng)該和grunt比較划鸽。它們的區(qū)別就暫時不提了。gulp / grunt 是一種構(gòu)建工具弦赖,能夠優(yōu)化前端的工程流项栏,比如自動刷新頁面,combo, 壓縮css, js, 編譯less等等蹬竖。簡單來說沼沈,就是使用gulp和grunt, 然后配置你需要的插件流酬,就可以把以前需要手工做的事情讓它幫你做了。
browserify / webpack列另,還有seajs / requirejs 這四個都是JS模塊化的方案康吵。其中seajs/ requirejs是一種類型, browserify / webpack 是另一種類型访递。
seajs/ require: 是一種在線“編譯”模塊的方案晦嵌,相當(dāng)于在頁面上加載一個CMD/AMD 解釋器。這樣瀏覽器就認(rèn)識了 define拷姿、exports惭载、module這些東西。也就實現(xiàn)了模塊化响巢。
broserify / webpack: 是一個預(yù)編譯模塊的方案描滔,相比于上面,這個方案更加智能踪古。以webpack為例:首先它是預(yù)編譯的含长,不需要再瀏覽器中加載解釋器。另外伏穆,你在本地直接寫JS, 不管是AMD / CMD / ES6 風(fēng)格的模塊化拘泞, 它都能認(rèn)識。并且編譯成瀏覽器認(rèn)識的JS枕扫。
總結(jié):gulp是一個工具陪腌,而webpack等等是模塊化方案。gulp可以配置seajs烟瞧、requirejs甚至webpack的插件诗鸭。