我想知道如何将单个文件传递给gulp任务。
我不想过滤整个文件集,也不想浪费资源来解析收集的所有文件任务。
所以我认为最好的方法是将一个已更改的文件从gulp.watch()传递到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
})
});
有没有办法像这样运行gulp任务?我尝试过功能而不是任务,但它不起作用。
答案 0 :(得分: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'])
});