1. 程式人生 > >web前端部署過程中快取出現的問題 生產實戰經驗 移動端H5

web前端部署過程中快取出現的問題 生產實戰經驗 移動端H5

目錄

  • 增加時間戳 或者 版本號
  • chrome: provisional header are showed
  • 漏掉的ng-include
  • 手機各種機型 對快取的不同處理 (2018)

移動端H5混合應用的新版本生產部署之後,
出現的各種情況和實踐總結:

在資原始檔名後面增加一個隨機引數或者版本號

經過驗證非常有效

chrome: provisional header are showed

可能是nginx配置不同導致
1.測試伺服器返回是304 not modified
2.生產伺服器返回是200 ok (from disk cache) + provisional header are showed
不過都能正常更新,
provisional header are showed看似沒有發出請求,
其實還是比對過服務端的版本的

漏掉的ng-include

為了相容一箇舊的 沒有工程化的 angular專案,
漏掉了ng-include中的get請求,沒有再檔名後動態增加隨機引數,
導致資源沒有更新,
beware

手機各種機型 對快取的不同處理 (2018)

全部資原始檔的 檔名全都加了動態生成的hash,

在可觀測到的移動裝置中

iOS系統手機全部正常,
更新之後馬上能拉取到最新的資源,

某個版本安卓vivo,間歇性的在新資源和舊資源之間切換,[無解..]
其他多臺vivo正常,

兩臺努比亞 全部無法自動拉取新資源,

華為p系列的某臺機器 也無法自動清除快取,

在訪問入口index.html後加隨機引數也無效,
全部需要手動進入設定清除快取

影響因素:

原生App,
http伺服器的配置,

資源有限,無法一一排查、驗證,僅此記錄一下