原文来自于:http://www.infoq.com/cn/news/2014/02/gulpnode
Fractal公司积极参与了数个流行Node.js模块的开发,它最近发布了一个新的构建系统gulp,但愿可以取代Grunt,成为最流行的JavaScript任务运行器。git
根据gulp的文档,它努力实现的主要特性是:github
Gulp经过流和代码优于配置策略来尽可能简化任务编写的工做。这看起来有点“像jQuery”的方法,把动做串起来建立构建任务。早在UNIX的初期,流就已经存在了。流在Node.js生态系统中也扮演了重要的角色,所以用gulp编写任务也可看做是用Node.js编写任务。当使用流时,gulp去除了中间文件,只将最后的输出写入磁盘,整个过程所以变得更快。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中,缓存是另外一个插件,能够被别的插件使用,这样就促进了插件的可重用性。ui
查看gulp的代码库活动以及加星关注的人数,能够发现这个构建系统已经开始得到动力。它同时也引发了JavaScript社区的兴趣:Yeoman的首席开发者Addy Osmani,提交了一篇issue,向团队成员介绍gulp并评估其替换当前构建系统。Sindre Sorhus是Yeoman研发团队成员和NPM的主要贡献者,写了一篇关于gulp的博客并在Twitter上提到gulp:“比Grunt速度更快、配置更少”。插件
原文英文连接:Gulp Aiming to Dethrone Grunt图片