Глотать меньше компилировать только измененный файл
У меня проблема, когда я запускаю gulp watch -> запускает стили задач:build, и все мои меньшие файлы были перекомпилированы. Как я могу скомпилировать только измененный файл?
gulp.task('styles:build', function () {
return gulp.src(pathes.src.styles)
.pipe(changed(pathes.build.styles), {extension: '.css'})
.pipe(print(function(filepath) {
return "➔ file was changed: " + filepath;
}))
.pipe(plumber())
.pipe(less({
plugins: [autoprefix, cleanCSSPlugin],
paths: ['./', 'web/styles']
}))
.pipe(gulp.dest(pathes.build.styles))
});
gulp.task('watch', function() {
gulp.watch(pathes.src.styles, ['styles:build'])
});
2 ответа
Вам нужно изменить строку ниже, чтобы добавить закрывающую скобку:
.pipe(changed(pathes.build.styles, {extension: '.css'}))
Также, как я и предупредил при первом запуске задачи, она, вероятно, пройдет через все файлы.
Я думаю, что я нашел решение, просто установите lessChanged = require('gulp-less-Changed') и включите его, прежде чем меньше трубы
.pipe(lessChanged())
.pipe(less())