断点后浏览器刷新

时间:2018-07-30 08:06:19

标签: browser gulp browser-sync

让我发疯的事情突然开始出现在我所有的团队成员中。 如果您在断点处暂停几秒钟,然后继续(F8),浏览器将刷新页面。

它发生在我们的Mac和Windows计算机上。

我们正在使用gulp和浏览器同步运行AngularJS项目。 即使我转过所有观察者,它仍然会发生。

我该怎么办??

2 个答案:

答案 0 :(得分:4)

browserSync.init({ files: ['./**/*'], startPath: '/src', server: '', watchOptions: { ignored: 'node_modules/*', ignoreInitial: true }, socket: { clients: { heartbeatTimeout: 60000 } } }); 在您的browserSync初始化中添加套接字对象。

答案 1 :(得分:2)

对于遇到此问题的任何人,似乎在新版本中解决的BrowserSync依赖项中都存在问题:https://github.com/BrowserSync/browser-sync/issues/1591

此处提到的另一种解决方案似乎并不能真正解决该问题,如GitHub问题所述:

  

heartbeatTimeout的增加并非在所有情况下都有用。它只是减少了页面刷新的可能性。

     

在heartbeatTimeout未结束的情况下有效。我的意思是这样。

     

想象一下,您已将超时设置为60000 ms。从超时周期开始仅过去了2秒钟。然后按断点停止应用程序10秒钟。 2 + 10 = 12秒,因此应用程序将根据需要恢复工作,而无需刷新页面。

     

但是,例如,如果从超时周期开始经过了58秒,然后该应用程序被断点停止了10秒。 58 + 10 = 68秒。再加上心跳超时,因此恢复后将通过浏览器同步刷新应用程序。

此问题始于v2.24.5,并已在v2.25.1中得到解决
因此,将BrowserSync更新到v2.25.1之后的任何版本都可以解决您的问题。我目前正在使用v2.26.3,似乎已经为我解决了。

祝您编程愉快! :)