2015-11-18 220 views
1

我們的團隊不斷致力於角度應用程序,每週或每兩週我們都會使用新功能對其進行更新,或更正出現的一些錯誤。更新角度應用程序的最佳方式是什麼?

我們正在使用C#後臺和webservices。

問題:當我們更新服務器上的應用程序時,我們有時(這種情況不會一直髮生)得到用戶仍然看到舊的HTML和功能的問題。有什麼辦法解決這個問題?

我沒有在谷歌上找到這個,也許我不是在尋找合適的條款, 任何幫助表示讚賞。

用戶必須清除緩存才能獲取新版本的應用程序。

+0

您需要某種文件版本爲您的html,css,js等,例如文件名:'sp00k-1.2.3.min.js'。 – tasseKATT

回答

1

你看到什麼JS文件的緩存副本(可能也是HTML部分)。

當瀏覽器解析HTML頁面時,它會請求獲取JS資源,並在決定檢索緩存副本(如果有)或是否要再次查詢服務器之前查看各種信息。

您可以找到Google fundamentals on HTTP caching

一個解決方案,我一直在採用自己是設置緩存頭緩存很長一段時期的文件,然後使用工具在構建到版本的一些額外的細節文件或者用文件名或者用請求參數。

我已經使用grunt-cache-breaker,並發現它適用於此目的。我知道還有一個gulp equivalent

1

,使你的JavaScript的肯定緩存版本最常用的方法是不使用被添加的版本作爲參考腳本像這樣的參數:

<script src="/app.js?v=v1.0"></script>

+0

那麼HTML呢?當你使用引用時,它會被緩存嗎?這甚至有可能嗎? – sp00k

+0

你可以嘗試刪除templatecache,這樣html partials將不會被緩存:'app.run(['$ templateCache',function($ templateCache){ $ templateCache.removeAll();}]);'' – Hartger

相關問題