Рассмотрим следующую файловую систему:
? мопс
test1.pug
test2.pug
? частичные
part1.pug
С заданием глотка
gulp.task('pug', () => {
return gulp.src('pug/*.pug')
.pipe(pug())
.pipe(gulp.dest('dist'))
});
даже если мы редактируем только test1.pug , оба test1.pug и test2.pug будут скомпилированы. Если изменить задачу на
gulp.task('pug', () => {
return gulp.src('pug/*.pug', {since: gulp.lastRun('pug')})
.pipe(pug())
.pipe(gulp.dest('dist'))
});
, так как второй 'мопс', запущенный gulp-watch , будет изменен или будут пропущены только новые файлы. Однако что, если partial1.pug
был включен в test1.pug
? (Предположим, что gulp.watch
наблюдает за всеми файлами).
test1.pug
doctype html
html
head
title Test 1
body
h1 Test 1
include partials/partial1.pug
Если мы отредактируем test1.pug , конечно, он будет скомпилирован. Однако если мы отредактируем part1.pug , test1.pug не будет передан {since: gulp.lastRun('pug')}
.
Я не знаю, как решить эту проблему, но, полагаю, нам нужно отфильтровать собранного мопса из файлов или уже скомпилированного html, но перед выводом. Если это возможно ...
Обновление
Может быть, я не объяснил четко желаемый результат. Нам нужно:
- test1.pug отредактировано → откомпилировано test1.pug * только 1054 *
- part1.pug отредактировано → откомпилировано test1.pug * только 1060 *
- test2.pug отредактировано → откомпилировано test2.pug * только 1066 *
Позвольте мне повторить, что part1.pug включает в test1.pug , но не test2.pug .