美文网首页
Gulp-The streaming build system

Gulp-The streaming build system

作者: stone_yao | 来源:发表于2016-06-15 17:23 被阅读28次

参考 http://slides.com/contra/gulp#/
关于stream的概念可以参考node文集中的stream 手册

advantage
  • With Gulp your bull file is code, not config
  • You use standard libraries to do things
  • plugins are simple and do one thing - most are a ~20 line function
  • Task are executed with maximum concurrency
  • I/O works the way you picture it below
344444.jpg

sample

var gulp = require('gulp');
var pkg = require('./package.json');
var concat = require('gulp-concat');
var minify = require('gulp-minify');
var jshint = require('gulp-jshint');
var spawn = require('child_process').spawn;

var scriptFiles = './src/**/*.js';

var gulp.task('compile',function(){
  //concat all script ,minify, and output
  gulp.src(scriptFiles)
    .pipe(concat({fileName: pkg.name+".js"}))
    .pipe(minify())
    .pipe(gulp.dest('./dist/'))
}); 

gulp.task('test',function(){
  gulp.src(scriptFiles).pipe(jshint());
  //run out tests
  spawn('npm',['test'],{stdio:'inherit'});
});

gulp.task('default',function(){
  gulp.run('test','compile');
  gulp.watch(scriptFiles,function(){
    gulp.run('test','compile');
  })
});

1.run tests
2.lints code -检查代码
3.concats javascript
4.minifies it
5.run again if files are changed


Gulp does nothing but provide some streams and a basic task system

start

Gulp has only 5 function you need to learn
1.gulp.task(name,fn)
It registers the function with a name .You can optionally specify some dependencies if other tasks need to run first.
2.gulp.run(tasks...)
Run all tasks with maximum concurrency
3.gulp watch(glob,fn)
Runs a function when a file that matches the glob changes included in core for simplicity.
4.gulp.src(glob)
This returns a readable stream .Takes a file system glob (like grunt) and starts emitting files that match. This is piped to other streams.
5.gulp.dest(folder)
This returns a writable stream.File objects piped to this are saved to the file system.

相关文章

网友评论

      本文标题:Gulp-The streaming build system

      本文链接:https://www.haomeiwen.com/subject/jllpdttx.html