Grunt,Gulp.js和Bower有什么区别?为什么&何时以及如何使用它们?
现在,我已经看到大多数前端项目都使用了上述工具,尽管我在最近的项目中使用了这些工具,但我使用gulp来构建HTML、CSS和JavaScript,比如
$ gulp build但是,不要对所有这些前端框架有太多的理解,请帮助我全面了解Grunt、Gulp.js和Bower。
发布于 2015-12-15 11:07:28
本质上,随着大量细节的挥动,Gulp和Grunt都是用于自动化一系列相互依赖的任务的系统,通常用于定义项目的“构建”,就像现代版的make工具。通常,一个项目使用其中一个或另一个,但不是同时使用(无论如何,对于相同的部分)。
Bower是不同的,并且经常与Gulp或Grunt一起使用:它是客户端库的包管理器,使保持这些库的更新、以标准化的方式指定它们及其依赖项等变得非常容易。
从他们的网站上说出的一条龙:
自动化并增强您的工作流
他们的“格伦特”号:
JavaScript任务运行程序
鲍尔:
网络包管理器
为什么&什么时候使用它们?
我认为上述内容对Gulp和Grunt来说是这样的:如果您有任务想要自动化(比如构建带有小型化、级联、压缩等功能的网站发布版本;或者在更改和重新运行任务时查看文件以支持快速开发),您可以使用Gulp和Grunt。
但这不仅仅是建筑。您可以将Gulp和Grunt用于您需要自动化的任何一系列任务。
Bower对于管理项目中的客户端库非常有用。您可以使用Bower安装,例如,最新版本的Bootstrap,它将在您的项目中的标准位置放置相关文件。Bower可以更新那些文件,如果一个较新的引导带出来。如果库依赖于其他库(例如,Bootstrap的JS依赖于jQuery ),那么Bower将帮助管理该树。Grunt (我假设是Gulp)有一些有用的任务,这些任务甚至可以自动将脚本和链接标记添加到这些库的HTML中,方法是在源HTML中有一个占位符,该占位符主要写着“把Bower库放在这里”。
发布于 2015-12-15 11:13:35
gulp和Grunt是任务运行者。它们是处理同一个问题的不同方法。Grunt使用基于配置的方法,而gulp使用来自node的流来实现结果。您可以使用它们来定义执行的方式和任务(复制文件、添加横幅、替换文本、样式检查等)。它们(通常)是从命令行手动运行的。
例如,如果复制和修改文件,Grunt将创建中间文件,而gulp将利用node的流进行动态转换。
何时使用Grunt或gulp不是那么具体的答案,因为它考虑了个人偏好、技术支持(特定任务的插件)、项目细节和配置的易用性。两者都相对容易启动和运行,但通常情况下,您最终会选择一个有更好的插件用于您的项目的技术栈(虽然两者都有良好的插件支持)。
Bower是包管理器。它用于安装javascript (主要是客户端)包(但是npm --也是包管理器--也包含几乎所有这些模块/包)。您可以使用它来自动化依赖关系管理和包安装。
发布于 2015-12-15 11:17:45
要继续担任T.J.Crowder的职务,Bower非常类似于NPM,或作曲家或Gem。NPM和Bower最大的区别在于,bower是用于前端包的,而NPM (以前是用于后端包的)。NPM现在做前端包和后端包。
另外,你需要NPM来安装Bower。
Grunt是第一个可用的前端任务自动化程序。它提供了比当时更好的经验。它仍然有一个庞大的追随者和活跃的社区。
从某种程度上来说,吞咽来自于咕哝,并且通过使用流而不是文件来改进它。
Grunt将更改写入文件,并加载到该文件中以操作更多的更改。Gulp读取一个文件,并对datastream执行所有转换,并且只写一次所有操作完成一次。这意味着它是异步的,比咕噜还快。我认为古普应该被用于新的项目,以利于咕噜。
可能有很多用例,其中咕噜比吞咽更好,但通常吞咽更快。
https://stackoverflow.com/questions/34287542
复制相似问题