Gulp-browserSync任务只运行一次

时间:2016-07-25 10:19:05

标签: javascript gulp browser-sync

我使用gulp进行browserync设置,html和css重新加载工作正常,但是我遇到了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任务运行js任务然后重新加载页面。但是在下一次运行中,只运行js任务。

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

1 个答案:

答案 0 :(得分:0)

在' js '中添加.pipe(browserSync.stream()); .dest()

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