以下设置的工作方式如下:
- 我改变一个文件
- gulp 任务开始,最终改变
/file/to/watch.js
- nodemon 重新启动我的快速服务器
- browserSync.reload() 被调用
- 浏览器重新加载
自从更新到节点 8.9.4(我认为那是它发生的时候),这不再有效。步骤 1-4 仍然可以正常进行。但不是第 5 步。我仍然看到“browserSync.reload!!!” 登录我的控制台,但浏览器永远不会重新加载。我已经尝试过浏览 browserSync 源代码,但在我进入标记为“本机代码”的函数之前我并没有走得太远。
任何想法如何让我的浏览器再次重新加载?
return nodemon({
script: '/path/to/script.js',
watch: '/file/to/watch.js',
env: {
'PORT': 7000
}
}).on('start', function() {
// to avoid nodemon being started multiple times
// thanks @matthisk
if (!started) {
cb();
started = true;
}
console.log('browserSync.reload!!!');
browserSync.reload();
});
更新:我发现问题在于没有注入浏览器同步脚本标签。我还发现,如果我将open
选项从更改false
为true
,那么它可以工作。不过,我更喜欢将其设置为false
,并且它曾经以这种方式工作。不确定发生了什么变化。