如何让gulp同时写入所有文件?
How to make gulp write all files simultaneously?
我有一个 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'));
});
目前我的 src/
中有 5 个哈巴狗模板,每次哈巴狗将文件写入 dist/
时(通常需要 2-5 秒),我的 live-reload 会观察到 dist/
触发浏览器重新加载,所以我需要观看 5 次浏览器重新加载。
我认为如果同时保存所有文件就可以避免这种情况。如何实现? (或者,如果您有更好的解决方案,请提出建议)。
P.S。我使用的 Live Reload https://github.com/tapio/live-server.
根据@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'));
});
现在一切正常。
我有一个 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'));
});
目前我的 src/
中有 5 个哈巴狗模板,每次哈巴狗将文件写入 dist/
时(通常需要 2-5 秒),我的 live-reload 会观察到 dist/
触发浏览器重新加载,所以我需要观看 5 次浏览器重新加载。
我认为如果同时保存所有文件就可以避免这种情况。如何实现? (或者,如果您有更好的解决方案,请提出建议)。
P.S。我使用的 Live Reload https://github.com/tapio/live-server.
根据@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'));
});
现在一切正常。