Я сделал приложение Single Application Application (SPA) с помощью Angularjs.
Пока все хорошо.
Как известно, все файлы javascript загружаются в первый раз. Или, некоторые файлы загружаются в ленивом режиме, когда это необходимо.
До сих пор так хорошо...
Ситуация такова: сервер обновляет все файлы (html partials, javascripts, css), и клиент остается с большим количеством устаревших файлов.
Это будет просто решено обновить браузер, нажать клавишу F5, кнопку управления + f5 или кнопку обновления в браузере. Но эта концепция не существует при работе с SPA.
Я не уверен, как решить эту проблему.
Я мог бы как-то обнаружить (возможно, сделать ping) и просто перезагрузить этот конкретный файл. С помощью стратегии document.write. Но теперь возникает еще одна проблема: у меня есть один файл javascript со всеми javascript, которые были уменьшены.
Я мог бы попытаться полностью перезагрузить браузер или заставить повторно войти (и перезагрузить, потому что логин - часть SPA).
Но перезагрузка - уродливое решение, представьте, что клиент потерял все данные в форме, потому что ему не повезло, что сервер только что обновился. И что еще хуже, теперь я должен создать некоторую функцию "автосохранения" только из-за этого.
Я не уверен, как справиться с этим, если это возможно, с помощью angular.
Интересно, как Google Gmail справляется с этим, потому что я остаюсь включенным в течение многих часов без регистрации.