gulp教程


一.gulpの設置と配置
1.据え付け
npm install --g gulp//    
npm install --save-dev gulp//      ,node_modules
npm install --save-dev gulp-uglify//  gulp   
2.gulpfile.jsを作成します.(ファイル名はgulpfileでなければなりません.そうでなければ、命令行のgulp命令はどのようにどのjsファイルを実行するか分かりますか?)
var gulp = require('gulp');

gulp.task('default', function() {
  // place code for your default task here
});
3.コマンドラインは、gulpファイルを実行します.
二.gulpの原理
  • gulp原理解析:データストリーム
  • 三.gulpアプリ
    一番簡単なglpfile.js
    //    gulp/gulp-sass/gulp-autoprefixer     
    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var autoprefixer = require('gulp-autoprefixer');
    
    //    gulp.task()         
    //           
    //              
    gulp.task('styles', function() {
        return gulp.src('sass/demo.scss')
            .pipe(sass())
            .pipe(autoprefixer())
            .pipe(gulp.dest('css'));
    });
    glupの5大関数
  • glp.task(name,fn)は、gulpタスク
  • を登録します.
  • glp.run(…taskys)は、複数のgulpタスク
  • を並列に実行する.
  • glp.watch(glob,fn)は、コンテンツをリアルタイムに監視し、globコンテンツが変化したときに、fn
  • を実行する.
  • glp.src(glob)は、globがターゲットファイルのパスであり、読み出し可能なstream
  • を返します.
  • glp.dest(gloc)、globは出力経路であり、書き込み可能なstream
  • を返す.
    api
    gulp.src('index.js');
    gulp.src(['js/**/*.js', '!js/**/*.min.js']);//  ,      
  • dest():destメソッドは、パイプの出力をファイルに書き込みながら出力を継続するので、複数回のdestメソッドを順次呼び出して、複数のディレクトリに出力することができます.ディレクトリが存在しない場合は、
  • に新規作成されます.
    gulp.src('./client/templates/*.jade')
      .pipe(jade())
      .pipe(gulp.dest('./build/templates'))
      .pipe(minify())
      .pipe(gulp.dest('./build/minified_templates'));
    
    /*
    *@param taskname     
    *@param []       ,            ,       
    *@param fn     
    */
    gulp.task('taskname', [ taskDep1, taskDep2 ],fn):
        gulp taskname,    gulp  
      :gulp.task('default',fn),       ,      gulp,      
    
    
    /*
    *@param       
    *@param        ,    
    */
    gulp.watch('    ', [task]):
    gulp.task('watch', function() {
        gulp.watch('sass/demo.scss', ['styles']);
    });
    参考文章:原理:http://www.jianshu.com/p/f5900e7de3eb