我正在使用AngularJS 1.5.8構建我的web應用程序的客戶端。我經常遇到問題,因爲用戶沒有Web應用程序客戶端的最新版本。有沒有簡單的方法來執行熱角度的應用程序重新加載,以便我的用戶始終擁有最新版本? (我正在尋找一個websockets的替代方案)AngularJS應用程序在生產中熱重新加載
0
A
回答
0
您可以使用setInterval()通過對某個能夠返回最新版本的REST端點執行ajax調用,從您的客戶端Web應用程序中查詢您的服務器。如果該版本與您的「版本」變量不匹配,則強制重新加載應用程序。
0
在您加載所有.js文件的index.html文件中,您可以在每次執行新構建時增加的URL中包含一個版本號。這將強制用戶的瀏覽器從服務器重新加載庫,因爲URL不會完全匹配,從而有效地打破了緩存機制並阻止加載舊版本的代碼。
URL中的其他數據不會對應用程序產生任何影響。
<script src="js/app.js?v1.2.3"></script>
<script src="js/services.js?v1.2.3"></script>
<script src="js/filters.js?v1.2.3"></script>
<script src="js/directives.js?v1.2.3"></script>
<script src="js/components.js?v1.2.3"></script>
你會做一個查找/替換爲v1.2.3
到v1.2.4
上的下一個版本。
如果您使用的是類似webpack或其他構建管道/自動化工具的東西,可以通過在文件名中包含庫的散列值,然後動態更新index.html中的URL來自動執行此操作文件。當你看到像app.ad76c09743ef.js
這樣的文件時,這可能是如何產生的。這確保了即使源代碼中的單個字符更改也會導致一個新的,唯一的哈希,以防止瀏覽器使用較舊的緩存值。
0
我已經使用這個好成功的圖書館是https://github.com/saintmac/angular-cache-buster
每次用戶發出請求的資源,這將迫使最新版本,它不是白名單。
相關問題
- 1. Electron/React應用程序中的熱重新加載
- 2. 在AngularJS中上傳後重新加載所有應用程序
- 3. 無法熱重新加載JHipster應用程序
- 4. 熱重新加載不熱重新加載
- 5. 是否可以使用Thin重新加載生產Rails 3應用程序?
- 6. 如何在ajax應用程序中加載Angularjs應用程序?
- 7. 重新加載代碼中的原生應用程序
- 8. 重新啓動和更新的ClickOnce應用程序在生產
- 9. 乘客無法在生產中加載Sinatra應用程序?
- 10. RuntimeException僅在生產版本中加載應用程序
- 11. REST API熱重新加載
- 12. GlassFish應用程序重新加載
- 13. ExtJs 4重新加載應用程序
- 14. 重新加載Vaadin應用程序
- 15. 重新加載SCSF應用程序
- 16. Android Studio模擬器熱重新加載反應原生
- 17. Android WebView在應用程序加載時重新加載
- 18. iPhone web應用程序總是重新加載應用程序
- 19. Silverlight應用程序未在生產服務器上加載
- 20. 熱重新加載舊的基於Ant的Java Web應用程序
- 21. django webpack加載器:React應用程序熱加載失敗
- 22. 反應原生:重新加載應用程序或強制重投
- 23. 檢查登錄狀態頁面重新加載在angularjs單頁應用程序
- 24. uwsgi連鎖加載過程中的熱身django應用程序
- 25. AngularJS應用程序不加載
- 26. 動態加載AngularJS應用程序
- 27. 如何在JavaFX中重新加載應用程序?
- 28. 在Rails應用程序中重新加載部分內容
- 29. 在ASP.NET MVC 2應用程序中從jQuery重新加載PartialView?
- 30. 應用程序swf可以在AIR中重新加載嗎?
可以只是做一些像Ajax-Pings,並在客戶端創建一個彈出/警告? –