2016-06-07 43 views
0

我們有一個使用BackboneJS構建的Web門戶,目前正在我們自己的Amazon Instance上部署相同的門戶網站。我們使用Java Apache Tomcat作爲它的服務器端部分。BackboneJS - 緩存文件阻止用戶獲取更改,除非他們強制清除瀏覽器緩存

問題是,只要我們在任何視圖和/或控制器或任何其他支持文件中進行任何代碼更改。儘管部署到服務器上的新實施的更改不會反映在用戶的瀏覽器中,除非他們通過「Developer Tools」中的網絡選項卡強制清除瀏覽器緩存。

每當用戶登錄時,是否有任何方法加載BackboneJS文件的新副本,以便第一次爲他提供任何和所有新開發的代碼更改?因爲要求他們在每次部署之後清除高速緩存是一種不「走向高端」的行爲:rollseyes:

拼命尋找一個有效且可行的解決方案。

回答

0

假設某處在你的頁面你有這樣的:

<body> 
... 
<script type="text/javascript" src="/js/bundle.js"></script> 
</body> 

我建議增加一個新的版本或時間戳參數,以您的JavaScript捆綁或JavaScript每當有代碼更改的文件。添加唯一的版本或日期戳會強制瀏覽器重新獲取javascript,而不是從緩存中獲取。

<script type="text/javascript" src="/js/bundle.js?v=2"></script> 

或者

<script type="text/javascript" src="/js/bundle.js?v=20160607"></script> 
+0

,我發現這個解決方案較早,它可以被加載這種方式,但骨幹文件是通過requirejs模塊加載的資源文件的工作。所以我該怎麼辦上面有那些文件? –