我正在使用幾個指令來處理AngularJS應用程序。該指令的模板存儲在一個單獨的html文件中。編輯這些模板時,我的瀏覽器在重新加載後沒有檢測到任何更改,並始終使用緩存版本。檢測到對源代碼的任何其他更改並導致重新加載。強制重載指令的模板
我想這個問題有點像$ templateCache,它似乎在加載模板時被AngularJS使用。
我在AngularJS 1.0.2的源代碼中發現什麼是線4317這是compileTemplateUrl()的一部分下面:
$http.get(origAsyncDirective.templateUrl, {cache: $templateCache})
如果任何人有過這樣的問題,我想知道如果有方法可以告訴AngularJS何時緩存,何時不緩存。
它並沒有真正解決我的問題,以禁用鉻緩存我的本地Chrome版本作爲用戶是瀏覽網頁還是加載緩存版。 –
(對不起,雙重評論,但我不能再編輯它...)強制緩存重新加載模板每次看起來像一個黑客對我來說。但我想我別無選擇。爲我的本地chrome版本禁用chrome緩存解決了這個問題。瀏覽網站的其他訪問者仍會加載緩存版本。因此,在用戶清除緩存之前,生產模式中的更新不可見。 –
那麼,我使用Yeoman來做我的angularJS項目,因此部署的文件的名稱前綴爲哈希。這使得緩存並不是一個真正的問題,因爲應用程序的任何基本改變都會被立即識別(這些文件有不同的命名)。爲了測試,我也使用了Yeoman,並強制重新加載所有資產。 –