gulp是為了規范前端開發流程,實現前后端分離、模塊化開發、版本控制、文件合並、壓縮、Mock數據等功能的一個前端自動化構建工具。
強調的是前端開發的工作流程,我們可以通過配置一系列的task(Gulp中的gulp.task()方法配置),定義task處理的事務(例如文件壓縮合並、雪碧圖、啟動server、sass/less預編譯、版本控制等)然后定義執行順序,來讓gulp執行這些task,從而構建項目的整個前端開發流程。核心是 task runner。
webpack是當下最熱門的前端資源模塊化管理和打包工具,成為模塊打包機。
它可以將許多松散的模塊按照依賴和規則打包成符合生產環境部署的前端資源。還可以將按需加載的模塊進行代碼分隔,等到實際需要的時候再異步加載。通過 loader的轉換,任何形式的資源都可以視作模塊,比如 CommonJs 模塊、AMD 模塊、ES6 模塊、CSS、圖片、JSON、Coffeescript、Less 等
Gulp和Webpack的側重點是不同的
(Gulp側重於開發整個過程的控制管理)
(Webpack更側重於模塊打包)
Gulp和Webpack基本都能滿足前端自動化構建工具的任務,但還是看出兩個工具的側重點,Gulp側重整個過程的控制,Webpack在模塊打包方面有特別出眾。
所以,在一定情況下 Gulp + Webpack 組合使用可能更方便