javascript - Gulp Browsersync 每次文件更改都会导致多次重新加载

标签 javascript node.js gulp browser-sync gulp-browser-sync

我将 browsersync 与 Gulp 结合使用,在特定文件更改时运行一些任务。每当我保存文件时,我的终端中都会出现 10 多个 [BS] Reloading Browsers... 并且性能缓慢是可以理解的。

这是我的 gulpfile:

gulp.task('bowerJS', function() {
  gulp.src(lib.ext('js').files)
    .pipe(concat('lib.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest('app/assets/js'));
});

gulp.task('bowerCSS', function() {
  gulp.src(lib.ext('css').files)
    .pipe(concat('lib.min.css'))
    .pipe(gulp.dest('app/assets/css/'));
});


// Compile sass into CSS & auto-inject into browsers
gulp.task('less', function() {
    gulp.src('./app/css/*.less')
        .pipe(less())
        .pipe(autoprefixer({
          browsers: ['last 2 versions'],
          cascade: false
        }))
        .pipe(gulp.dest('app/assets/css'))
        .pipe(browserSync.stream());
});

// Render Jade templates as HTML files

gulp.task('templates', function() {
  gulp.src('views/**/*.jade')
    .pipe(jade({
      pretty: true
    }))
    .pipe(gulp.dest('app/src/'))
});

gulp.task('php', function() {
    php.server({ base: 'app', port: 8123, keepalive: true});
});
gulp.task('serve', ['bowerJS', 'bowerCSS', 'less', 'templates', 'php'], function() {


    var proxyOptions1 = url.parse('http://some-site:1234');
        proxyOptions1.route = '/api/hi';

    browserSync({
        port: 8999,
        proxy: '127.0.0.1:8123',
        middleware: [
                proxy(proxyOptions1),
                history()
        ],
        notify: false
    });


    gulp.watch("app/assets/css/*.less", ['less']);
    gulp.watch("app/**/*.html").on('change', browserSync.reload);
    gulp.watch("app/assets/js/*.js").on('change', browserSync.reload);
    gulp.watch("views/**/*.jade", ['templates']);
});

我在这里做错了什么?

最佳答案

仅使用 browserSync.stream(然后替换 browserSync.reload)并像这样传递选项 once: true

browserSync.stream({once: true})

这应该可以正常工作。

关于javascript - Gulp Browsersync 每次文件更改都会导致多次重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315302/

相关文章:

javascript - 具有完整路径的 Node 异步 mkdir

reactjs - 迁移到 Webpack 2 后,gulp 或 webpack-stream 导致 webpack 构建失败

javascript - React 6 导航和点击没有按预期工作

javascript - Chart.js 2.X 中的条形值 - dataset.metadata 未定义

Javascript 通过输入更改纯文本

javascript - 我如何在 NodeJS 中模拟 ES 模块?

Node.js 和 Express 静态中间件路由 View

javascript - 第二次单击后删除格式

javascript - 如何让 browserify 的 "bundle"函数发出结束事件?

node.js - 使用 Gulp/Node 将 json 转换为 yaml