我有一个吞吞吐吐的任务,可以完成我所有的哈巴狗模板(包括):
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'));
});
目前,我的src/
中有5个哈巴狗模板,每次哈巴狗将文件写入dist/
(通常需要2到5秒)时,我的实时重载会观察到dist/
触发浏览器重新加载,所以我需要浏览5次浏览器重新加载。
我认为,如果同时保存所有文件,可以防止这种情况。如何实现? (或者如果您有更好的解决方案,建议使用它们。)
P.S。我使用https://github.com/tapio/live-server进行实时重新加载。
答案 0 :(得分:0)
根据@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'));
});
现在一切正常。