【问题标题】:Gulp-browserSync task only running onceGulp-browserSync 任务只运行一次
【发布时间】:2016-07-25 10:19:04
【问题描述】:

我使用 gulp 设置了 browsersync,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 个小时,所以我希望这不是重复的。但以防万一,抱歉。

【问题讨论】:

  • .dest() 之后尝试在“js”任务中使用 .pipe(browserSync.stream());
  • 所以我可以添加它作为答案.. 接受它

标签: javascript gulp browser-sync


【解决方案1】:

.dest()之后的'js'任务中添加.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())
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-12
    • 2016-02-12
    • 2015-05-28
    • 2019-06-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    相关资源
    最近更新 更多