Gulp-browserSync 任务仅 运行 一次

Gulp-browserSync task only running once

我用 gulp、html 和 css 设置了 browsersync,重新加载工作正常,但 javascript 有问题。当我启动浏览器同步任务并更改一些 js 时,它只能按预期工作一次。我已经根据 this 官方指南设置了所有内容。

gulp.task('js', function () {
    return gulp.src(['./app/*/*.js', './app/*.js'])
        .pipe(browserify())
        .pipe(uglify())
        .pipe(gulp.dest('./build'));
});

gulp.task('js-watch', ['js'], browserSync.reload);

gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir: "./app/"
        }
    });

    gulp.watch('app/styles/*.scss', ['sass']);
    gulp.watch("app/*.html").on('change', browserSync.reload);
    gulp.watch(['./app/*/*.js', './app/*.js'], ['js-watch']);
});

console log
因此,当我第一次更改某些 javascript 时,它会发生更改并且页面会按预期重新加载 - js-watch 任务 运行s js 任务然后重新加载页面。但是在接下来的 运行 秒,只有 js 任务是 运行.

在我决定问一个问题之前,我在谷歌上搜索了大约 2 个小时,所以我希望这不是重复的。但以防万一,抱歉。

js'任务.dest()

后添加.pipe(browserSync.stream());
gulp.task('js', function () {
    return gulp.src(['./app/*/*.js', './app/*.js'])
        .pipe(browserify())
        .pipe(uglify())
        .pipe(gulp.dest('./build'))
        .pipe(browserSync.stream())
});