构建工具和任务运行器之间的区别
Difference between build tools and task runners
我从很久以前就开始使用构建工具(Gulp/Grunt),主要用于基本 CSS|JS|HTML minification/Formating/Image optimization/watching我的 SCSS 等的变化
但是构建工具和任务运行器之间到底有什么区别?
顾名思义,主要区别在于:
A task-运行ner like gulp or g运行t 用于定义不同的任务,定义它们的调用方式,它们的执行顺序以及它们具有的依赖关系。您几乎可以将任何东西配置为任务,只要 - 在本例中 - 节点 API 允许。
像 webpack 或 rollup 这样的 build 工具 或 bundler 基本上执行单个任务:building/bundling。您可以使用插件来告诉他们如何完成他们的工作,但您几乎无法控制执行顺序,也无法 运行 流程的特定子集(例如:仅转译代码但不捆绑)任务-运行ner 允许的方式。
task-运行ners 和 build systems/bundlers 适合吗?是的,他们有!有连接这些系统的插件,例如 gulp-webpack
。无论哪种方式,您始终可以在任务中使用节点 API 来做任何您喜欢的事情。
因此您可以创建仅在下雨时调用天气 API 和 运行 webpack 的任务;-)
如果还有一些困惑,请告诉我,我很乐意扩展我的答案。
我从很久以前就开始使用构建工具(Gulp/Grunt),主要用于基本 CSS|JS|HTML minification/Formating/Image optimization/watching我的 SCSS 等的变化
但是构建工具和任务运行器之间到底有什么区别?
顾名思义,主要区别在于:
A task-运行ner like gulp or g运行t 用于定义不同的任务,定义它们的调用方式,它们的执行顺序以及它们具有的依赖关系。您几乎可以将任何东西配置为任务,只要 - 在本例中 - 节点 API 允许。
像 webpack 或 rollup 这样的 build 工具 或 bundler 基本上执行单个任务:building/bundling。您可以使用插件来告诉他们如何完成他们的工作,但您几乎无法控制执行顺序,也无法 运行 流程的特定子集(例如:仅转译代码但不捆绑)任务-运行ner 允许的方式。
task-运行ners 和 build systems/bundlers 适合吗?是的,他们有!有连接这些系统的插件,例如 gulp-webpack
。无论哪种方式,您始终可以在任务中使用节点 API 来做任何您喜欢的事情。
因此您可以创建仅在下雨时调用天气 API 和 运行 webpack 的任务;-)
如果还有一些困惑,请告诉我,我很乐意扩展我的答案。