最近看了下gulp.js,着实不错
发布于 1年前 作者 ringtail 1544 次浏览

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

 
//gulpfile 

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

gulp中的方法很有意思的一点在于支持pipe管道,这个方法比grunt的命令更加清晰,下面我们看下用法

 
/*
 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)); });

代码就不更多解释了,太清晰了...完全不用注释...

####实际项目中需要的module #####增量编译 gulp-changed gulp-cached gulp-changed

 
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)); });

这两个模块有点问题,尚在研究,还没有跑起来增量编译,不过从速度上来讲,确实很不错,而且代码很易懂
10 回复

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

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

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

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

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

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

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

gulp 用起来很顺手

回到顶部