Gulp手表整个文件夹&编译保存的文件

时间:2016-03-11 03:26:04

标签: gulp gulp-watch

我想做的是观看:

MyProjects下/更少

此目录中有数百个Less文件。保存文件时,我只想编译保存的文件。

以下手表正确但会编译所有较少的文件。开销有点太多了。

gulp.task('compileCurrentTheme', function () {
// is there a way to get the filename that is saved and pass it dynamically to gulp.src?
return gulp.src('less/**/*.less') 
.pipe(less())
.pipe(gulp.dest('./css')); 
});


gulp.task('watch', function(){
 gulp.watch(['less/**/*.less' ], ['compileCurrentTheme']); 
});

2 个答案:

答案 0 :(得分:0)

感谢@CriticalImpact的建议。虽然我没有按照你的建议行事,但它让我走上正轨。

var changed = require('gulp-changed');

gulp.task('compileCurrentTheme', function () {
 return gulp.src('less/**/*.less')
 .pipe(changed('./css', { extension: '.css' })) 
 .pipe(less())
 .pipe(gulp.dest('./css'));
});


gulp.task('watch', function(){
 gulp.watch(['less/**/*.less' ], ['compileCurrentTheme']); 
});

答案 1 :(得分:0)

在@Justin W Hall的回答中,如果使用Gulp 4,则监视功能的格式为:

gulp.task('watch', function(){
    gulp.watch(['less/**/*.less' ], gulp.series('compileCurrentTheme')); 
});