【发布时间】:2018-03-31 23:25:38
【问题描述】:
我从很久以前就一直在使用构建工具(Gulp/Grunt),主要用于基本的 CSS|JS|HTML 缩小/格式化/图像优化/观察我的 SCSS 等的变化。
但是构建工具和任务运行器之间到底有什么区别呢?
【问题讨论】:
我从很久以前就一直在使用构建工具(Gulp/Grunt),主要用于基本的 CSS|JS|HTML 缩小/格式化/图像优化/观察我的 SCSS 等的变化。
但是构建工具和任务运行器之间到底有什么区别呢?
【问题讨论】:
顾名思义,主要区别在于:
像 gulp 或 grunt 这样的 task-runner 用于定义不同的任务,定义它们的调用方式、执行顺序以及它们具有的依赖关系。您几乎可以将任何东西配置为任务,只要——在这种情况下——Node API 允许。
构建工具 或 bundler 如 webpack 或 rollup 基本上执行一个任务:构建/捆绑。您可以使用插件告诉他们如何完成工作,但您几乎无法控制执行顺序,也无法以任务的方式运行特定的流程子集(例如:仅转换代码但不捆绑) -runner 允许。
task-runners 和 build systems/bundlers 适合吗?是的,他们做到了!有一些插件可以连接这些系统,例如gulp-webpack。无论哪种方式,您始终可以在任务中使用 Node API 来做任何您喜欢的事情。
因此,您可以创建调用天气 API 的任务并仅在下雨时运行 webpack ;-)
如果仍有一些困惑,请告诉我,因为我很乐意扩展我的答案。
【讨论】: