Задача Gulp-browserSync запускается только один раз

У меня настроена синхронизация браузера с gulp, перезагрузка html и css работает нормально, но у меня проблема с javascript. Когда я запускаю задачу синхронизации браузера и меняю некоторые js, она работает по назначению только один раз. Я настроил все в соответствии с этим официальным руководством.

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']);
});

журнал консоли
Итак, когда я впервые изменяю какой-либо javascript, он изменяется, и страница перезагружается по назначению - задача js-watch запускает задачу js, а затем перезагружает страницу. Но при следующих запусках запускается только задача js.

Я гуглил это около 2 часов, прежде чем решил задать вопрос, поэтому надеюсь, что это не дубликат. Но на всякий случай извините.


person Adam Kotynia    schedule 25.07.2016    source источник
comment
попробуйте с .pipe(browserSync.stream()); в задаче 'js' после .dest()   -  person diEcho    schedule 25.07.2016
comment
так что я могу добавить это как ответ .. принять это   -  person diEcho    schedule 01.08.2016


Ответы (1)


добавить .pipe(browserSync.stream()); в задачу 'js' после .dest()

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