2016-10-23 7 views
0

Мне интересно, как передать один файл в задачу gulp.
Я не хочу фильтровать всю коллекцию файлов, а также не хочу тратить ресурсы на синтаксический анализ всех файлов из коллекции по задаче.
Итак, я думал, что лучший способ - передать один измененный файл из gulp.watch() в задачу gulp, но не нашел рабочего решения.
Запуск задачи 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']) 
});