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第二個應用程序。