2016-04-29 35 views
2

我做了一個使用angularJS的網站。 但我遇到了問題。AngularJS網站,緩存版本號

我的用戶得到很多錯誤的詛咒他們網站的一箇舊的緩存版本,

所以我想要做的,就是以某種方式創建一個版本號爲高速緩存,所以當用戶與調用錯誤,我可以問他們正在使用什麼版本來查看緩存的網站是否舊,請求他們清空緩存。

任何人都知道如何做到這一點?我不想處理我的緩存,只顯示一個數字,顯示緩存版本。

回答

0

您可以添加一個打印到控制檯的變量,該變量代表站點版本,當然這些變量僅在您添加它時纔可見。

但是,舊的緩存版本的網站是一個解決的問題,您的用戶根本無法體驗。它可以通過給你要求的js文件添加一個指紋(添加一個後綴,即文件的校驗和\最後更新時間),並且在提及js文件的主html上根本沒有緩存。同樣可以用於css或其他可能會從版本更改爲版本的文件。

根據您的靜態文件服務器,有插件和模塊可以解決這個問題。在nginx的,最流行的是的PageSpeed: https://developers.google.com/speed/pagespeed/module/

更詳細的說明一下我上面寫的(和的PageSpeed工具)可以在這裏找到「無效和更新緩存的響應」本指南: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#invalidating-and-updating-cached-responses

+0

這指紋上的js文件,你可以給它一個樣本,看起來像什麼?我可以使用這個「指紋」作爲全局變量,所以我可以只改變一個地方的值,它會改變它的所有js文件? – DaCh

+0

如果我可以使用全局變量,這也可以顯示網站角落的緩存版本號, – DaCh

+0

好的。所以我使用asp.net來縮小我的腳本。這使用「指紋」解決方案,但是。即使指紋發生變化,它也不會更新客戶端緩存,所以回到第一階段,一種顯示緩存版本號的方法 – DaCh