写点什么

Gulp 的目标是取代 Grunt

  • 2014-02-14
  • 本文字数:1108 字

    阅读完需:约 4 分钟

Fractal 公司积极参与了数个流行 Node.js 模块的开发,它最近发布了一个新的构建系统 gulp ,希望能够取代 Grunt,成为最流行的 JavaScript 任务运行器。

根据 gulp 的文档,它努力实现的主要特性是:

  • 易于使用:采用代码优于配置策略,gulp 让简单的事情继续简单,复杂的任务变得可管理。
  • 高效:通过利用 node.js 强大的流,不需要往磁盘写中间文件,可以更快地完成构建。
  • 高质量:gulp 严格的插件指导方针,确保插件简单并且按你期望的方式工作。
  • 易于学习:通过把 API 降到最少,你能在很短的时间内学会 gulp。构建工作就像你设想的一样:是一系列流管道。

Gulp 通过流和代码优于配置策略来尽量简化任务编写的工作。这看起来有点“像 jQuery”的方法,把动作串起来创建构建任务。早在 UNIX 的初期,流就已经存在了。流在 Node.js 生态系统中也扮演了重要的角色,因此用 gulp 编写任务也可看作是用 Node.js 编写任务。当使用流时,gulp 去除了中间文件,只将最后的输出写入磁盘,整个过程因此变得更快。gulp 采用代码优于配置的策略,让简单的事情继续简单,将复杂的任务变得可管理。

与其他任务运行器一样,每个任务都可以是一个简单的工作单元:

复制代码
var gulp = require('gulp');
var uglify = require('gulp-uglify');
gulp.task('scripts', function() {
return gulp
.src(['src/js/**/*.js'])
.pipe(uglify())
.pipe(gulp.dest('build/js'));
});

或者有任务依赖:

复制代码
gulp.task('default-task', function(){
gulp.run('scripts');
// watch files and run scripts if they change
gulp.watch("./src/**/*.js", function(event {
gulp.run('scripts');
});
);

关于 Grunt,对它的抱怨除了过于冗长,还包括大量的插件做了他们不该做的工作。Mark Goodyear 在一篇博客中举了个例子,Grunt 的imagemin 插件不仅压缩图片,同时还包括缓存功能。他表示,在gulp 中,缓存是另一个插件,可以被别的插件使用,这样就促进了插件的可重用性。

查看 gulp 的代码库活动以及加星关注的人数,可以发现这个构建系统已经开始获得动力。它同时也引起了JavaScript 社区的兴趣:Yeoman 的首席开发者 Addy Osmani ,提交了一篇issue ,向团队成员介绍gulp 并评估其替换当前构建系统。 Sindre Sorhus 是 Yeoman 研发团队成员和 NPM 的主要贡献者,写了一篇关于gulp 的博客并在Twitter 上提到gulp:“比Grunt 速度更快、配置更少”。

原文英文链接: Gulp Aiming to Dethrone Grunt


感谢梅雪松对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-14 09:578974

评论

发布
暂无评论
发现更多内容

随着全球制造商的紧缩,全球采购活动以2023年十二月以来最强劲的速度收缩:GEP 全球供应链波动指数

财见

首届云原生编程挑战赛总决赛冠军比赛攻略_greydog.队

阿里云天池

Springboot中自定义监听器

不在线第一只蜗牛

Java spring Spring Boot

HTTP 客户端:RestClient、WebClient、RestTemplate

FunTester

一文总览 CES 升级新特性,全面了解云上的资源使用

华为云开发者联盟

云监控 ces

掌握市场先机:淘宝API如何助力企业实时洞察商品动态

代码忍者

API 测试 pinduoduo API

解读 GaussDB (for MySQL) 冷热存储分离实现原理

华为云开发者联盟

与非网第三届"物联网技术论坛"将于9月18日在线举办

财见

Vidu 全球首发「主体参照」新功能,一键同步角色特征;GPT-4o 实时音频项目负责人离职创业丨 RTE 开发者日报

RTE开发者社区

软件测试学习笔记丨Docker 原理分析与使用场景

测试人

Docker 软件测试

万泰生物用飞书:打造信息交流、业务管理、安全协同三大平台

ToB行业头条

第一,才够安全!

京东科技开发者

多种嵌入式系统开发需求阻碍平台工程发挥最大价值

财见

vivo首登2024凯度BrandZ最具价值中国品牌100强,科技与人文关怀并重

财见

复赛总榜TOP1方案Champion Chasing Boy分享

阿里云天池

上升4名 科大讯飞上榜2024凯度BrandZ最具价值中国品牌百强榜第39名

财见

桌面运维工具之打印机驱动安装

京东科技开发者

运维安全审计系统厂家有哪些?推荐哪家?

行云管家

运维 行云管家 安全运维

测评通义灵码,如何实现微信表情、 AI 语音笔记等小功能?

阿里巴巴云原生

阿里云 云原生 通义灵码

测评通义灵码,如何实现微信表情、 AI 语音笔记等小功能?

阿里云云效

阿里云 云原生 通义灵码

Gulp的目标是取代Grunt_JavaScript_João Paulo Marques_InfoQ精选文章