Node.js 自定义任务运行程序vs gulp、grunt、Webpack、npmcli脚本

Node.js 自定义任务运行程序vs gulp、grunt、Webpack、npmcli脚本,node.js,npm,webpack,gulp,gruntjs,Node.js,Npm,Webpack,Gulp,Gruntjs,我想联系其他有经验的web开发人员,征求您对如何最好地处理编译/构建web应用程序的意见 一点背景知识。我很久以前就开始使用grunt和browserfy捆绑我的应用程序了。主要是JS端到bundle依赖关系。我仍然使用普通的css和html 后来,Gulp似乎是最受欢迎的任务执行者,所以我在新项目中转而使用它。我更喜欢咕噜声,但似乎咕噜声会成为最常用的音乐 然后是网页包。刚开始的时候多痛苦啊。我们都知道,它不一定是一个任务运行程序,更像是一个捆绑程序,但人们用它来做我认为它最初不适合做的事情

我想联系其他有经验的web开发人员,征求您对如何最好地处理编译/构建web应用程序的意见

一点背景知识。我很久以前就开始使用grunt和browserfy捆绑我的应用程序了。主要是JS端到bundle依赖关系。我仍然使用普通的css和html

后来,Gulp似乎是最受欢迎的任务执行者,所以我在新项目中转而使用它。我更喜欢咕噜声,但似乎咕噜声会成为最常用的音乐

然后是网页包。刚开始的时候多痛苦啊。我们都知道,它不一定是一个任务运行程序,更像是一个捆绑程序,但人们用它来做我认为它最初不适合做的事情

最后,可能与Webpack结合使用,简单的npm脚本调用命令行任务

最终,我的设置变得相当复杂,仅仅使用Webpack并不能解决问题,因此我制作了自己的自定义javascript任务运行程序,并仍然导入了Webpack、fs extra、image magik、node sass等包。使用api完成所有图像优化、文件移动、i18n等

现在,与其用我自己的自定义任务运行程序包装所有这些包,为什么不回到grunt或gulp。。。顺便说一句,仅仅使用npm脚本和从命令行调用任务太通用了,我需要更多的定制

现在我想知道你们在做什么。那些还与各种任务运行程序、复杂的网页设置等打过交道的人。你是否:滚动你自己的自定义任务运行程序,仅依靠调用cli任务的NPM脚本,使用大量嵌套的网页脚本,咕噜声,咕噜声。。。还有别的吗

老实说,到现在(2020年)为止,我认为咕噜声或咕噜声已经消失了,尽管事实似乎并非如此。也许对于更复杂的构建(对于简单的构建,npm脚本cli进程),我有一个自定义任务运行程序,我只是少数,我应该回到Gulp或Grunt


对于您对稍微复杂的构建过程所选择的方法的意见,我将不胜感激。谢谢

每当我选择工具时,我通常有两个主要考虑因素:

  • 在可预见的未来,该工具能为我节省多少时间/精力/头痛
  • 学习此工具需要多少时间/精力/头痛
对于复杂的构建,Gulp为我节省了不少时间/精力/头痛,并且只需要很少的前期工作。这是一个简单的js工具,公司里的任何人都可以轻松地学习和使用。正如你所知道的,它可以做(几乎)任何需要的事情来构建一个复杂的项目

在“该工具在未来能为我节省多少钱”一文中,我考虑的一个因素,尤其是在快节奏的javascript世界中,是我认为该工具将由其所有者维护多长时间。Gulp团队提供企业支持,积极维护项目,每周下载量超过120万次,所以我认为他们会存在一段时间。当然,只要时间足够长,我们就能从这个工具中获得比学习它所付出的汗水更多的价值


对于复杂的构建,根据我的经验,Webpack需要更多的前期工作。NPM脚本需要更多的欺骗才能很好地吞咽抽象内容。在我简单的前期工作与长期价值计算中,Gulp赢得了复杂的构建竞赛。

每当我选择工具时,我通常有两个主要考虑因素:

  • 在可预见的未来,该工具能为我节省多少时间/精力/头痛
  • 学习此工具需要多少时间/精力/头痛
对于复杂的构建,Gulp为我节省了不少时间/精力/头痛,并且只需要很少的前期工作。这是一个简单的js工具,公司里的任何人都可以轻松地学习和使用。正如你所知道的,它可以做(几乎)任何需要的事情来构建一个复杂的项目

在“该工具在未来能为我节省多少钱”一文中,我考虑的一个因素,尤其是在快节奏的javascript世界中,是我认为该工具将由其所有者维护多长时间。Gulp团队提供企业支持,积极维护项目,每周下载量超过120万次,所以我认为他们会存在一段时间。当然,只要时间足够长,我们就能从这个工具中获得比学习它所付出的汗水更多的价值


对于复杂的构建,根据我的经验,Webpack需要更多的前期工作。NPM脚本需要更多的欺骗才能很好地吞咽抽象内容。在我简单的前期努力与长期价值计算中,Gulp赢得了复杂的构建竞赛。

你好,Kayakin,首先,非常感谢您的回复。我认为像这样的意见问题没有得到太多的反馈相比,更直接的问题,如如何做x。。。接下来,在做更多的研究时,我同意你的观点。首先,正如你所说的,Gulp是受欢迎和支持的。这是我一开始离开它的主要原因之一,转到Webpack。后者似乎非常流行,我认为Gulp会降低它的受欢迎程度,就像Gulp开始提升时的Grunt一样。然而,与之不同的是,Webpack并不是一个真正的替代品,更像是一个像Browserfy一样的捆绑产品。最后,我的沮丧和动机首先是一个定制的任务运行程序,它实际上是围绕着让Webpack做我想做的事情(任务运行程序的东西)的限制而构建的。既然我看到Gulp仍然很受欢迎,为什么我还要在现有产品存在的情况下重新发明轮子呢。与其将我的自定义任务运行程序与Web包脚本进行比较,不如将其与Gulp进行比较。我的设置对于Gulp来说并不像对于Webpack那样复杂。试图预测什么样的技术工具将持续存在是不成功的,尽管随着时间的推移,重新评估并可能转向(返回)很重要。谢谢@是的,当网页开始流行时,我们也认为“嗯,我们应该