gulp.js服务src文件没有browserSync?

与Yeoman Gulp-Angular搭build了一个新项目。

我明白BrowserSync的前提,但坦率地说,我不能理解任何人如何容忍他们的networking请求泛滥:

BrowserSync将无休止的民意调查投入到浏览器中

我想立即从我的项目中删除BrowserSync。

如何纠正下面的代码,以便gulp serve并执行预览未缩小的src文件的相同function,但是不使用BrowserSync?

这里是我现在的gulp/server.js ,由gulp-angular生成的默认值:

 'use strict'; var gulp = require('gulp'); var browserSync = require('browser-sync'); var browserSyncSpa = require('browser-sync-spa'); var util = require('util'); var middleware = require('./proxy'); module.exports = function(options) { function browserSyncInit(baseDir, browser) { browser = browser === undefined ? 'default' : browser; var routes = null; if(baseDir === options.src || (util.isArray(baseDir) && baseDir.indexOf(options.src) !== -1)) { routes = { '/bower_components': 'bower_components' }; } var server = { baseDir: baseDir, routes: routes }; if(middleware.length > 0) { server.middleware = middleware; } browserSync.instance = browserSync.init({ startPath: '/', server: server, browser: browser, online: false, notify: false, open: false, ui: false }); } browserSync.use(browserSyncSpa({ selector: '[ng-app]'// Only needed for angular apps })); gulp.task('serve', ['watch'], function () { browserSyncInit([options.tmp + '/serve', options.src]); }); gulp.task('serve:dist', ['build'], function () { browserSyncInit(options.dist); }); gulp.task('serve:e2e', ['inject'], function () { browserSyncInit([options.tmp + '/serve', options.src], []); }); gulp.task('serve:e2e-dist', ['build'], function () { browserSyncInit(options.dist, []); }); }; 

而我现在的gulp/watch.js ,由gulp/watch.js -angular生成的默认值:

 'use strict'; var gulp = require('gulp'); var browserSync = require('browser-sync'); function isOnlyChange(event) { return event.type === 'changed'; } module.exports = function(options) { gulp.task('watch', ['markups', 'inject'], function () { gulp.watch([options.src + '/*.html', 'bower.json'], ['inject']); gulp.watch([ options.src + '/app/**/*.css', options.src + '/app/**/*.less' ], function(event) { if(isOnlyChange(event)) { gulp.start('styles'); } else { gulp.start('inject'); } }); gulp.watch(options.src + '/app/**/*.js', function(event) { if(isOnlyChange(event)) { gulp.start('scripts'); } else { gulp.start('inject'); } }); gulp.watch(options.src + '/app/**/*.jade', ['markups']); gulp.watch(options.src + '/app/**/*.html', function(event) { browserSync.reload(event.path); }); }); }; 

以下是如何取消BrowserSync的赞成gulp-connect ,一个简单和稳定的Gulp插件来运行一个networking服务器(与LiveReload)。

gulp/server.js

 'use strict'; var gulp = require('gulp'); var util = require('util'); var connect = require('gulp-connect'); module.exports = function(options) { function createServerTask(name, pre, root) { gulp.task(name, pre, function() { connect.server({ root: root, port: 3000, debug: true, livereload: true }); }); } createServerTask( 'serve', ['watch'], [ options.tmp+'/serve', options.src, './' ]); createServerTask( 'serve:dist', ['build'], [ options.dist ]); createServerTask( 'serve:e2e', ['inject'], [ options.tmp+'/serve', options.src, './' ]); createServerTask( 'serve', ['watch'], [ options.tmp+'/serve', options.src, './' ]); createServerTask( 'serve:e2e-dist', ['build'], [ options.dist ]); }; 

然后将gulp/watch.js的BrowserSync重新加载replace为:

 gulp.src('./app/*.html') .pipe(connect.reload());