2017-06-28 16 views
1

以下は私のコードです私の主な問題私はjsとcssの変更を見なければならず、またそれに基づいて適切なバージョンのminファイルも生成しました。 。gulp-revはgulp-watchと連携していません

'use strict'; 

var gulp = require('gulp'); 
var rename = require('gulp-rename'); 
var uglify = require('gulp-uglify'); 
var watch = require('gulp-watch'); 
let cleanCSS = require('gulp-clean-css'); 
var rev = require('gulp-rev'); 
var jsArr = [ 
    'search/media/src/js/*.js', 
    //'common/media/js/*.js', 
    '!search/media/src/js/*.testmin.js', 
    '!search/media/src/js/*.min.js' 
      // '!common/media/js/*.testmin.js', 
]; 

var cssArr = [ 
    'search/media/css/*.css', 
    '!search/media/css/*.testmin.css', 
    '!search/media/css/*.min.css' 
]; 


gulp.task('js', function() { 
    //return gulp.src(jsArr, {base: './'}) 
    return gulp.src(jsArr) 
      .pipe(watch(jsArr)) 
      .pipe(uglify()) 
      .pipe(rename({suffix: '.testmin'})) 
      .pipe(rev()) 
      .pipe(gulp.dest(function (file) { 
       return file.base; 
      })) 
      .pipe(rev.manifest({ 
       merge: true 
      })) 
      .pipe(gulp.dest('./')); 
}); 

gulp.task('css', function() { 
    //return gulp.src(cssArr, {base: './'}) 
    return gulp.src(cssArr) 
      .pipe(watch(cssArr)) 
      .pipe(cleanCSS()) 
      .pipe(rename({suffix: '.testmin'})) 
      .pipe(rev()) 
      .pipe(gulp.dest(function (file) { 
       return file.base; 
      })) 
      .pipe(rev.manifest({ 
       merge: true 
      })) 
      .pipe(gulp.dest('./')); 
}); 

gulp.task('default', ['js', 'css'], function() { 
}); 

var watcher = gulp.watch([jsArr, cssArr], ['default']); 
watcher.on('change', function (event) { 
    console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); 
}); 

ありがとうございました。

答えて

1

私は少しのテストを行い、ギャルプタスクの中でラップしてギャルフウォッチ作業を得ることができました。watcher.on('change)それを呼び出すためには、あごの仕事の中にいなければならないだろう。

gulp.task('watch', function() { 

    var watcher = gulp.watch([jsArr, cssArr], ['default']); 

    watcher.on('change', function (event) { 
     console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); 
    }); 

}); 

また、この方法で設定することもできます。これは、jsとcssのタスクがお互いに分かれるのを見ます。

gulp.task('watch', function() { 
    gulp.watch(jsArr, ['js']); 
    gulp.watch(cssArr, ['css']); 
}); 

また、あなたはpipe(watch(jsArr))pipe(watch(cssArr))を削除することをお勧めします。 gulp-watchをこの方法で使用することはできませんでしたが、gulp watchを実行すると、タスクがハングして完了しなくなります。

ガルプウォッチを開始するには、端末にgulp watchを実行してください。

関連する問題