BrowserSync 在第二次刷新后显示更改

BrowserSync displays changes after 2nd refresh

我在 gulp 中遇到了 browserSync 插件的恼人问题。如果我在 html 中更改某些内容,更改将在第二次刷新后显示。它仅适用于 html,如果我更改 css 或 js,则更改在第一次重新加载后可见。这是我的 browserSync 任务:

gulp.task('serve', function () {

    browserSync.init({
        server: {
            baseDir: ["./dist", "./dev", "./../../global-assets"]
        }
    });

    gulp.watch('dev/sass/**', ['sass']);
    gulp.watch('dev/sass/**').on('change', reload);
    gulp.watch('dev/js/*.js', ['js']);
    gulp.watch('dev/js/*.js').on('change', reload);
    gulp.watch('dev/templates/*.html', ['htmlSSI']);
    gulp.watch('dev/templates/*.html').on('change', reload);
});

和 SSI 任务:

gulp.task('htmlSSI', function() {
        es.merge(gulp.src(globalTemplates), gulp.src(localTemplates))
        .pipe(includer())
        .pipe(gulp.dest('dist/'));
});

看起来您正在 htmldist 文件夹

中的 SSI 任务更改 html 之前重新加载页面

gulp.watch('dev/templates/*.html').on('change', reload);

尝试将其更改为观察来自 htmlSSI 任务

的输出 html
gulp.watch('dist/*.html').on('change', reload);