三者都是前端构建工具,grunt/gulp 在早期比较流行,现在webpack相对来说比较主流,不过轻量化的任务还是会使用 gulp 处理,比如单独打包CSS文件等
grunt 和 gulp 是基于任务和流(Task.Stream) 的。类似JQuery,找到一个或一类文件,对其做一系列链式操作,更新流上的数据,整条链式操作构成了一个任务,多个任务就构成了整个web的构建流程
webpack是基于入口的。webpack会自动递归解析入口所需要加载的所有资源文件,然后用不同的Loader来处理不同的文件,用Plugin来扩展webpack功能
从构建思路来说gulp和grunt需要开发者将整个前端构建过程拆分成多个任务,并合理控制所有任务的调用关系,webpack需要开发者找到入口,并需要清楚对于不同的资源应该使用什么loader 做何种解析和加工
对于知识背景来说gulp更像后端开发者的思路,需要对于整个流程都知晓
webpack更倾向于前端开发者的思路