构建工具和任务管理器之间的区别

Ale*_*nik 7 gruntjs gulp webpack

我一直在使用构建工具(Gulp/Grunt),主要用于基本的CSS | JS | HTML缩小/格式化/图像优化/观察我的SCSS等的变化

但是Build工具和任务运行器之间究竟有什么区别?

Ric*_*wig 7

主要区别在于,顾名思义:

像gulp或grunt这样的任务运行器用于定义不同的任务,定义它们的调用方式,执行顺序以及它们具有的依赖关系.您可以将几乎任何事物配置为任务,只要 - 在这种情况下 - Node API允许它.

一个构建工具捆绑类似的WebPack或汇总主要执行单一任务:建筑/捆绑.您可以使用插件告诉他们如何完成工作,但您几乎无法控制执行顺序,也无法以任务的方式运行流程的特定子集(例如:仅转换代码但不捆绑) -runner允许.

任务运行者和构建系统/捆绑器是否结合在一起?是的,他们这样做!有插件连接这些系统,如gulp-webpack.无论如何,您始终可以在任务中使用Node API来执行任何操作.

所以你可以创建调用天气API的任务,只有在下雨时运行webpack ;-)

如果仍有一些混乱,请告诉我,因为我很乐意延长答案.