2016-10-23 5 views
0

1つのファイルをgulpタスクに渡す方法が不思議です。
ファイルのコレクション全体をフィルタリングする必要はなく、タスクごとにコレクションからすべてのファイルを解析するためのリソースを無駄にしたくありません。
だから私は、gulp.watch()からgulpタスクに1つの変更されたファイルを渡すのが最善の方法だと思っていましたが、実際の解決策は見つかりませんでした。
ウォッチャーのパラメータでgulpタスクを実行する

gulp.task('html', function(file) { 
    return gulp.src(file) 
     .pipe(fileInclude(fileIncludeConf)) 
     .pipe(gulp.dest(paths.dest.templates)); 
}); 

gulp.task('watch', function() { 
    gulp.watch(path.src.templates).on('change', function(file) { 
     // gulp run 'html' task with 'file' as src 
    }) 
}); 

ような一気のタスクを実行する方法はありますか?私は仕事の代わりに機能を試しましたが、うまくいきません。

答えて

0

gulp-cachedまたはgulp-changedのようなものが変更されたファイルだけを通過するように思えます。したがって:

var cache = require('gulp-cached'); 

gulp.task('html', function(file) { 
    return gulp.src(file) 
     .pipe(cache("only working on changed files here") 
     .pipe(fileInclude(fileIncludeConf)) 
     .pipe(gulp.dest(paths.dest.templates)); 
}); 

gulp.task('watch', function() { 
    gulp.watch(path.src.templates, ['html']) 
}); 
関連する問題