Написан простой gulpfile который собирает статику в отдельную папку и настроен функционал просмотра изменений.
Но есть проблема при изменении скрипт начинает собирать все файлы подряд. это занимает много времени, хочу настроить чтобы при изменении не собиралось все подряд, а лишь те файлы которые изменены.
const gulp = require('gulp')
const less = require("gulp-less")
const cleanCSS = require('gulp-clean-css');
const changed = require('gulp-changed');
const paths = {
style: {
src: 'static/**/*.less',
dest: 'static/dist',
}
}
function styles(){
return gulp.src([paths.style.src, '!static/js/**' ])
.pipe(less())
.pipe(cleanCSS())
.pipe(gulp.dest(paths.style.dest))
.pipe(gulp.src('static/images/**/*.+(png|jpg|jpeg|gif|svg)'))
.pipe(gulp.dest('static/dist/images'))
.pipe(gulp.src('static/my/images/**/*.+(png|jpg|jpeg|gif|svg)'))
.pipe(gulp.dest('static/dist/my/images'))
}
function buildLess() {
return gulp.src(paths.style.src)
.pipe(changed(paths.style.dest, { hasChanged: changed.compareContents }))
.pipe(less())
.pipe(cleanCSS())
.pipe(gulp.dest(paths.style.dest))
}
function watch() {
gulp.watch(paths.style.src, buildLess)
}
exports.styles = styles
exports.watch = watch