2017-10-10 200 views
2

我有一個網站使用create-react-app構建,並託管在Firebase託管上。我可以做些什麼來指定瀏覽器緩存需要在新部署後更新,理想情況下僅適用於自上次部署以來已更改的頁面,資產和樣式表?Firebase託管 - 強制瀏覽器重置新部署的緩存?

有沒有一種方法可以訪問部署ID並在頭文件中包含(或任何其他唯一標識符),以便瀏覽器可以比較它在本地存儲或緩存中的內容,並確定是否需要硬刷新?我查看了Firebase Deploying以及Full config文檔,但沒有提及如何訪問託管元數據,如上次部署時間。

Cache-Control的值設置爲max-age=[any number]似乎並不理想,因爲它在下一次部署將發生時(可能不知道如何,除非有常規計劃)纔會忽略。

回答

5

我想通了。必須根據this Github comment更新firebase.json文件:

{ 
    "hosting": { 
    "headers": [ 
     { "source":"/service-worker.js", "headers": [{"key": "Cache-Control", "value": "no-cache"}] } 
    ] 
    } 
}