2

当我在命令行执行firebase init并创建标准网页时,然后输入firebase serve,然后打开http://localhost:5000。我通常会得到一个我以前正在处理的网页。我几乎可以肯定这是来自serviceworker.js的以前版本。Firebase服务不会更新服务人员

还取决于我在我的Mac(Safari,Chrome,Firefox和Opera)上使用的浏览器,他们会得到不同的结果。我的感觉是应该有一个ServiceWorker.js清除或重置命令,以便创建一个新的serviceworker.js。所以问题是否有一个SW重置命令。理想情况下在命令行?

或者我只是坚果?

+0

我通常会去'chrome:// serviceworker-internals /',从那里停止/取消注册相关的服务人员,然后重新加载页面。 –

+0

我不知道这个......但在Safari,Preferences,Advanced Tab中,在底部,有一个检查在菜单屏幕中显示“Develop”。这样做,你可以选择清除缓存。这样做后,解决了我的问题。 Polymer代码中的更改开始显示。仍然需要Chrome,Firefox和Opera。 – IrishGringo

+0

很酷。我也不知道。感谢分享!您可能也想将其作为自我回答提供。 –

回答

2

由于服务工作者注册完全在浏览器中,因此firebase serve命令无法知道您已经做出更改。

要清除所有本地存储的数据,包括Service Worker注册(至少适用于Chrome),您可以打开Web检查器,转至“应用程序”选项卡,然后单击“清除站点数据”按钮。 Safari尚不支持Service Worker,因此您不应该在那里看到相同的行为。

如果您在同一时间处理多个Web应用程序,则可能需要考虑为每个Web应用程序使用不同的端口。 firebase serve -p 5001第二个应用程序。