gruntjs – 任务运行器(Gulp,Grunt等)和Bundlers(Webpack,Browserify) 为什么一起使用?

我对任务运行器和bundler世界有点新,同时经历的事情

Grunt,Gulp,Webpack,Browserify

,我没觉得他们之间有很大的区别。换句话说,我觉得Webpack可以做任务运行器做的一切。但是我仍然有一个巨大的例子,gulp和webpack一起使用。我不知道为什么。

作为新的,我可能在错误的方向。这将是伟大的,如果你能指出我失踪了。欢迎任何有用的链接。

提前致谢。

解决方法

GruntGulp实际上是任务运行器,他们有区别,如配置驱动任务与基于流的转换。每个都有自己的优势和弱点,但在一天的结束,他们几乎帮助你创建可以运行来解决更大的构建问题的任务。大多数时候,他们与应用程序的实际运行时间无关,而是他们转换或放置文件,配置和其他东西到位,以便运行时工作正常。有时,他们甚至生成服务器或其他进程,你需要运行你的应用程序。

WebpackBrowserify是包装捆绑器。基本上,它们设计为运行所有软件包的依赖关系,并将其源代码连接到一个文件中(理想情况下),以便在浏览器中使用。它们对现代Web开发很重要,因为我们使用了许多设计为使用Node.jsv8编译器运行的库。再次,有优缺点和不同的原因,一些开发人员喜欢一个或另一个(或有时两个!)。通常这些解决方案的输出束包含某种引导机制,以帮助您在潜在的巨大捆绑中获得正确的文件或模块。

跑步者和绑定者之间的模糊线可能是绑定者也可以在其运行时进行复杂的转换或trans-pilations,因此他们可以做任务运行者可以做的几件事情。事实上,在browserify和webpack之间可能有大约一百transformers,你可以用来修改你的源代码。为了比较,现在至少有2000个gulp插件列在npm。所以你可以看到有清楚(希望…;))定义什么最适合你的应用程序。

话虽如此,你可能会看到一个复杂的项目实际上同时使用任务运行程序和包捆绑包同时或串联。例如在我的办公室,我们使用gulp启动我们的项目,webpack实际上是从一个特定的gulp任务运行,创建我们需要在浏览器中运行我们的应用程序的源包。并且因为我们的应用程序是isomorphic,我们还bundle some of the server代码。

以我谦卑的意见,你可能想要熟悉所有这些技术,因为你很可能会看到(使用)所有他们在你的职业生涯中。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...