当我在命令行执行 firebase init
并创建一个标准网页,然后创建 firebaseserve
,然后打开 http://localhost:5000 。我通常会得到一个我以前正在处理的网页。我几乎可以肯定这是来自 serviceworker.js
的早期版本。
还取决于我在 Mac 上使用的浏览器(Safari、Chrome、Firefox 和 Opera),它们会得到不同的结果。我的感觉是应该有一个 ServiceWorker.js
清除或重置命令,以便创建一个新的 serviceworker.js
。所以问题是,某处是否有软件重置命令。最好在命令行上?
或者我只是疯了?
最佳答案
由于 Service Worker 注册完全存在于浏览器中,因此 firebaseserve
命令无法知道您已进行更改。
要清除所有本地存储的数据,包括 Service Worker 注册(至少对于 Chrome),您可以打开 Web 检查器,转到“应用程序”选项卡,然后单击“清除站点数据”按钮。 Safari 尚不支持 Service Worker,因此您不应在其中看到相同的行为。
如果您同时处理多个网络应用程序,您可能需要考虑为每个应用程序使用不同的端口,例如firebaseserve -p 5001
用于第二个应用。
关于Firebase服务不会更新Service Worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876095/