任务跑步者(吞食,咕噜等)和打包者(Webpack,Browserify)。 为什么一起使用?
我对任务跑步者和打包者世界有点新,而且经历过类似的事情
Grunt,Gulp,Webpack,Browserify
,我不觉得他们之间有太大的区别。 换句话说,我觉得Webpack可以完成任务跑步者所做的一切。 但是我仍然有一个巨大的例子,其中吞噬和webpack一起使用。 我找不出原因。
作为新手,我可能会把事情弄错了方向。 如果你能指出我缺less的东西,那将是非常好的。 任何有用的链接,欢迎。
提前致谢。
Grunt和Gulp实际上是任务运行者,他们有不同的configuration驱动任务与基于stream的转换。 每个人都有自己的长处和短处,但在一天结束时,他们几乎帮助您创build可以运行的任务来解决更大的构build问题。 大多数情况下,它们与应用程序的实际运行时间无关,而是它们转换或者将文件,configuration和其他事物放置到位,以便运行时间按预期运行。 有时候甚至会产生服务器或其他你需要运行你的应用程序的进程。
Webpack和Browserify是包打包器。 基本上,它们被devise成运行一个包的所有依赖关系,并将它们的源代码连接成一个文件(理想情况下)可以在浏览器中使用。 它们对于现代Web开发非常重要,因为我们使用了很多被devise为使用Node.js和v8编译器运行的库。 再次,有些优点和缺点,以及一些开发者喜欢一个或另一个(或者有时候两个!)的不同原因。 通常,这些解决scheme的输出包含有某种引导机制,可帮助您获取可能包含大量文件的正确文件或模块。
跑步者和打包者之间的模糊界线可能是打包者在运行时也可以做复杂的转换或转换,所以他们可以做一些跑步者可以做的任务。 事实上,在browserify和webpack之间,大概有大约一百个变形金刚 ,你可以用它来修改你的源代码。 相比之下,目前在npm上至less有2000个gulp插件。 所以你可以看到有什么清楚(希望是…))什么是最适合你的应用程序的定义。
话虽如此,你可能会看到一个复杂的项目实际上同时使用任务pipe理器和打包捆绑器。 例如,在我的办公室,我们使用gulp来启动我们的项目,而webpack实际上是从一个特定的gulp任务运行的,这个任务创build了我们需要在浏览器中运行我们的应用程序的源代码包。 而且由于我们的应用程序是同构的 ,我们也绑定了一些服务器代码。
在我看来,你可能想要熟悉所有这些技术,因为你有机会在职业生涯中看到(使用)所有这些技术。