@mr_boner

Как настроить Gulp для сборки и компиляции Less файлов?

Имеется главный файл в котором содержаться импорты остальных less файлов.
Задача в том, что бы при изменении данных в импортированых файлах - собирался и компилировался основной css файл.

Сейчас все происходит странным образом при запуске Gulpа 1 раз все собирается как надо, при последующих сохранениях импортируемые файлы сохраняют свой первоначальный вид и изменения в них никак не влияют на сборку основного css файла. Будь то они каким то образом закешировались и не обращают внимания на изменения. Для проверки удаляю конечный css файл, изменяю значения в импортируемых less файлах, сохраняю. Ожидаю, что соберется css файл с новыми значениями, а по факту импортируемые файлы в конечной сборке имеют первоначальный вид.

В чем проблема?

gulp.task('less', function () {
	return gulp.src('resources/less/_imports.less')
		.pipe(plumber({
			errorHandler: notify.onError(
				"ERROR:: <%= error.message %>")
		}))
		.pipe(less({
			paths: [ path.join(__dirname, 'less', 'includes')]
		}))
		.pipe(rename('style.css'))
		.pipe(gulp.dest('resources/css/'))
		.pipe(connect.reload());
});

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

gulp.task('default', ['connect', 'watch']);


Есть вариант, компилировать каждый less файл по отдельность и потом склеивать уже css части (gulp-contact) но, теряется последовательность. Да и вообще должно же и так работать.
  • Вопрос задан
  • 389 просмотров
Решения вопроса 1
@mr_boner Автор вопроса
Вычитал, что они и правда кешируются, но теперь не ясно как это выключить.

Решение - компиляция каждого файла отдельно + конкатенация. + настройка order строгой последовательности сборки
- глобальные переменные импортируются в каждый файл в котором используются
- пропадает необходимость в файле с импортами остальных частей(блоков)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы