Обычно после запуска таска - gulp build он сам чистит папку dist и потом заново кладет туда новые файлы. Если тебя такой вариант устраивает то вот пример :
var del = require('del') // плагин для gulp 'del'
gulp.task('clean', function() { // сам таск удаления
del.sync('dist');
});
gulp.task('build', ['clean', 'compress', 'cssmin', 'images'], function() { // таск сборки
var buildFonts = gulp.src('app/fonts/**/*')
.pipe(gulp.dest('dist/fonts'));
var buildHtml = gulp.src('app/*.html')
.pipe(gulp.dest('dist'));
});