我有一个构建我的所有pug模板(包含)的吞咽任务:
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个pug模板,每次pug向dist/
写入文件时(通常需要2-5秒),我的实时重载观察到dist/
会触发浏览器重载,所以我需要观察5次浏览器重载。
我认为如果所有文件同时保存,这是可以防止的。如何实现这一目标?(或者如果你有更好的解决方案,建议他们)。
附言:实时重载我使用的https://github.com/tapio/live-server。
发布于 2019-03-10 18:30:09
根据@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'));
});
现在一切都正常工作了。
https://stackoverflow.com/questions/55076389
复制相似问题