gulp webpack browserify

Gulp應(yīng)該和Grunt比較,他們的區(qū)別我就不說(shuō)了,說(shuō)說(shuō)用處吧。Gulp / Grunt 是一種工具,能夠優(yōu)化前端工作流程。比如自動(dòng)刷新頁(yè)面、combo、壓縮css、js、編譯less等等。簡(jiǎn)單來(lái)說(shuō),就是使用Gulp/Grunt,然后配置你需要的插件,就可以把以前需要手工做的事情讓它幫你做了。

說(shuō)到 browserify / webpack ,那還要說(shuō)到 seajs / requirejs 。這四個(gè)都是JS模塊化的方案。其中seajs / requirejs 是一種類型,browserify / webpack 是另一種類型。

seajs / requirejs : 是一種在線"編譯" 模塊的方案,相當(dāng)于在頁(yè)面上加載一個(gè) CMD/AMD 解釋器。這樣瀏覽器就認(rèn)識(shí)了 define、exports、module 這些東西。也就實(shí)現(xiàn)了模塊化。

browserify / webpack : 是一個(gè)預(yù)編譯模塊的方案,相比于上面 ,這個(gè)方案更加智能。沒(méi)用過(guò)browserify,這里以webpack為例。首先,它是預(yù)編譯的,不需要在瀏覽器中加載解釋器。另外,你在本地直接寫JS,不管是 AMD / CMD / ES6 風(fēng)格的模塊化,它都能認(rèn)識(shí),并且編譯成瀏覽器認(rèn)識(shí)的JS。

這樣就知道,Gulp是一個(gè)工具,而webpack等等是模塊化方案。Gulp也可以配置seajs、requirejs甚至webpack的插件。

不知道這樣夠清楚了么


Gulp、Grunt和Make(常見(jiàn)于c/cpp)、Ant、Maven、Gradle(Java/Android)、Rake、Thor(Ruby)一樣,都是是Task Runner。用來(lái)將一些繁瑣的task自動(dòng)化并處理任務(wù)的依賴關(guān)系。

其中有些是基于配置描述的,描述邏輯比較費(fèi)勁,比如Ant基于xml。還有些就是代碼,比較靈活,個(gè)人偏好這種。比如Rake、Thor、Gulp、Gradle。對(duì)于Gradle來(lái)說(shuō)也有些蛋疼。因?yàn)樗旧硎荊roovy的DSL。如果要深入使用,你還得學(xué)一下Groovy語(yǔ)言。其他就好多了Rake、Thor就是寫Ruby;Gulp就是JavaScript。相對(duì)門檻低很多。

模塊化解決方案:

BrowserifyIt provides a way to bundle CommonJS modules together, adheres to the Unix philosophy(小工具協(xié)作), is in fact a good alternative to Webpack.

Webpack?takes a more monolithic(整體解決、大而全) approach than Browserify... is relies on configuration.

webpack官網(wǎng)有對(duì)二者的使用方法進(jìn)行對(duì)比,可以看一下:webpack for browserify users

上面這些工具在功能上有交集:代碼的Minify、Concat;資源預(yù)處理等;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫在開(kāi)頭 先說(shuō)說(shuō)為什么要寫這篇文章, 最初的原因是組里的小朋友們看了webpack文檔后, 表情都是這樣的: (摘...
    Lefter閱讀 5,437評(píng)論 4 31
  • 在現(xiàn)在的前端開(kāi)發(fā)中,前后端分離、模塊化開(kāi)發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開(kāi)始...
    Charlot閱讀 5,659評(píng)論 1 32
  • webpack和browserify的區(qū)別 一、 選擇不同的前端構(gòu)建工具,也就意味著不同的前端開(kāi)發(fā)體系。只要業(yè)務(wù)足...
    shanshanfei閱讀 3,173評(píng)論 0 5
  • 到目前,Webpack已發(fā)布到v3.8.1,網(wǎng)上有很多Webpack入門到精通的教程及文檔,此文就從問(wèn)答的角度梳理...
    烈風(fēng)裘閱讀 1,509評(píng)論 0 2
  • Gitbook Repo 撰寫本文的時(shí)候筆者閱讀了以下文章,不可避免的會(huì)借鑒或者引用其中的一些觀點(diǎn)與文字,若有冒犯...
    王下邀月熊閱讀 1,155評(píng)論 1 9

友情鏈接更多精彩內(nèi)容