问题在于流重新加载页面
只需重新加载方法正常工作
但是,当我使用browserSync.stream()(browserSync.reload({stream:true}))时,它无法正常工作
这是我的浏览器同步初始化功能
function browserSyncInit(baseDir, browser) {
browser = browser === undefined ? 'default' : browser;
var routes = null;
if(baseDir === conf.paths.src || (util.isArray(baseDir) && baseDir.indexOf(conf.paths.src) !== -1)) {
routes = {
'/bower_components': 'bower_components'
};
}
var server = {
baseDir: baseDir,
routes: routes,
middleware: proxyMiddleware('http://0.0.0.0:8080')
};
var nodemonConfig = {
cwd: path.normalize(__dirname + '/../../'),
script: 'server/server.js',
ext: 'js json',
ignore: ['client/**/*.*'],
env: {'PORT': '8080'}
};
var serverStarted;
nodemon(nodemonConfig)
.on('start', function () {
if (serverStarted) return;
browserSync.init(null, {
startPath: '/',
open: false,
server: server,
browser: browser
});
serverStarted = true;
});
}
代理服务器它是环回应用程序(可能有问题)
重新加载样式和描述的任务
gulp.task('styles-reload', ['styles'], function() {
return buildStyles()
.pipe(browserSync.stream());
});
gulp.task('scripts-reload', ['scripts'], function() {
return buildScripts()
.pipe(browserSync.stream());
});
答案 0 :(得分:0)
Streams用于从任务的Gulp流中注入脚本/ css / etc.,这就是为什么在the documentation中,它提到将它放在gulp.dest之后。
如果您希望手动重新加载BrowserSync页面,可以在两个函数中使用.reload执行此操作,否则,您需要将文件传递到重新加载任务中,因为它看起来像是你的从其他地方调用这些任务。
除此之外,我没有理由将两个任务(样式/脚本与其各自的重载任务分开)分开。你应该在dest之后管道它,这样你就不必乱用新的流或在任务之间合并。