Как заставить gulp записывать все файлы одновременно? - PullRequest
1 голос
/ 09 марта 2019

У меня есть задача gulp, которая опровергает все мои шаблоны мопса (включая включает в себя):

gulp.task('processMarkup', function(){
    return gulp.src('src/*.pug')
        .pipe(pug())
        .pipe(gulp.dest('./dist/'));
});

У меня также есть наблюдатель, который выполняет эту задачу:

gulp.task('watch-markup',function(){
    gulp.watch(['./src/**/*.pug'], gulp.series('processMarkup'));
});

В настоящее время у меня есть5 шаблонов pug внутри моего src/, и каждый раз, когда pug записывает файлы в dist/ (обычно это занимает 2-5 с), моя live-перезагрузка, которая наблюдает dist/, запускает перезагрузку браузера, поэтому мне нужно следить за 5 перезагрузками браузера.

Я думаю, что это можно предотвратить, если все файлы сохраняются одновременно.Как это может быть достигнуто?(или если у вас есть лучшие решения, предложите их).

PS Live Reload, которую я использую https://github.com/tapio/live-server.

1 Ответ

0 голосов
/ 10 марта 2019

Согласно комментарию @Sean, я сделал эту конфигурацию:

let gulp = require('gulp');
let pug = require('gulp-pug');
let browserSync = require('browser-sync');

gulp.task('reload', function(done) {
  browserSync.reload();
  done();
});

gulp.task('processMarkup', function() {
  return gulp.src('src/*.pug')
    .pipe(pug())
    .pipe(gulp.dest('./dist/'));
});

gulp.task('serve', function() {
  browserSync.init({
    server: './dist/'
  });
  gulp.watch(['./src/**/*.pug'], gulp.series('processMarkup', 'reload'));
});

Теперь все работает правильно.

...