Gulp Browsersync导致每个文件更改多次重新加载

我使用Gulp的浏览器同步,在特定的文件上执行一些任务。 每当我保存一个文件,我得到10 + [BS] Reloading Browsers...在我的terminal和性能是可以理解的laggy。

这是我的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 (然后replacebrowserSync.reload)并传递once: true选项once: true

 browserSync.stream({once: true}) 

这应该可以正常工作。