Gulp 任务完成后重新加载浏览器

nue99wik  于 2022-12-08  发布在  Gulp
关注(0)|答案(2)|浏览(187)

在我的gulp任务中,我想在任务完成后**使用browserSync.reload**重新加载我的浏览器。目前我的gulpfile.js看起来像这样:

gulp.task('serve', ['build'], function () {

    browserSync.init({
        notify: false,
        server: "./" + dist
    });

    gulp.watch("/**/*.html", ['html']).on('change', browserSync.reload);
    gulp.watch("/**/*.md", ['html']).on('change', browserSync.reload);

});

目前,Gulp做的第一件事是[BS] Reloading Browsers...,然后是[12:54:12] Starting 'html'...
如何将其更改为首次运行html并在完成browserSync.reload时运行?

gmol1639

gmol16391#

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

    browserSync.init({
        proxy: "http://strona.pl/"
    });

    gulp.watch("./css/*.scss", gulp.series('sass', 'deploy', 'reload'));

    gulp.watch('./**/*.php').on('change', browserSync.reload);
    gulp.watch('./*.php').on('change', browserSync.reload);
});
0sgqnhkj

0sgqnhkj2#

我认为你不需要on.change监听器,你可以这样指定reload:

gulp.task('serve', ['build'], function () {

    browserSync.init({
        notify: false,
        server: "./" + dist
    });

    gulp.watch("/**/*.html", ['html', browserSync.reload]);
    gulp.watch("/**/*.md", ['html', browserSync.reload]);

});
    • 编辑**

正如 * Mark * 所说,并行运行两个任务可能会产生一些错误,更好的解决方案可能是:

gulp.task('serve', ['build'], function () {
    browserSync.init({
        notify: false,
        server: "./" + dist
    });

    gulp.watch("/**/*.html", ['reload']);
    gulp.watch("/**/*.md", ['reload']);
});

gulp.task('reload', ['html'], function () {
    browserSync.reload();
});

相关问题