最近看了下gulp.js,着实不错
发布于 6 年前 作者 ringtail 8077 次浏览 最后一次编辑是 4 年前

###gulp.js学习笔记 gulp.js 是类似grunt的一个自动化工具,相对比于grunt的config文件的复杂,gulp.js只需要5个函数即可。(参考地址:<a src=“http://www.codersgrid.com/2014/01/11/gulp-js-streaming-build-tool-beats-grunt-js/”>http://www.codersgrid.com/2014/01/11/gulp-js-streaming-build-tool-beats-grunt-js/</a>)
####gulp的一个demo <pre> <code> //gulpfile

var gulp = require(‘gulp’); gulp.task(‘default’,function(){ //register a task //some code }) </code> </pre>

gulp中的方法很有意思的一点在于支持pipe管道,这个方法比grunt的命令更加清晰,下面我们看下用法
<pre> <code> /* gulpfile for my Ros project 2014/02/23 */ var gulp = require(‘gulp’) ,uglify = require(‘gulp-uglify’) ,concat = require(‘gulp-concat’) ,size = require(‘gulp-size’);

var filePath = { appScriptPath:{ src:‘app/scripts/*/.js’, dest:‘app/build/js’ } } gulp.task(‘default’,function(){ return gulp.src(filePath.appScriptPath.src) .pipe(uglify()) .pipe(concat(‘main.js’)) .pipe(gulp.dest(filePath.appScriptPath.dest)); });

</code> </pre> 代码就不更多解释了,太清晰了…完全不用注释…

####实际项目中需要的module #####增量编译 gulp-changed gulp-cached gulp-changed <pre> <code> var gulp = require(‘gulp’); var changed = require(‘gulp-changed’); var ngmin = require(‘gulp-ngmin’); // just as an example

var SRC = ‘src/*.js’; var DEST = ‘dist’;

gulp.task(‘default’, function () { gulp.src(SRC) .pipe(changed(DEST)) //配置DEST目录 // ngmin will only get the files that // changed since the last time it was run .pipe(ngmin()) .pipe(gulp.dest(DEST)); }); </code> </pre> 这两个模块有点问题,尚在研究,还没有跑起来增量编译,不过从速度上来讲,确实很不错,而且代码很易懂

11 回复

刚接触Grunt,最近又听到这个,发展好快啊,一起研究吧

好东西!项目中用下,不错的

还是觉得Grunt好一些,插件比较丰富,自定义也方便点

关于插件,gulp不是问题,因为大部分的库都支持 Stream,所以可以直接拿来当作 Gulp的插件来用

@kiddkai 恩,这个我还没有试过,不过应该可以直接用或者稍微修改下就能用

@ringtail 嗯,现在一直在用,感觉不grunt来的简易,功能又不缺失。

@cloudcome 是的,我现在准备把之前的grunt的东西迁移到gulp

哪货好用?

gulp 用起来很顺手

gulp-changed 怎么理解?

回到顶部