Как правильно информировать пользователей об обновлении браузера на веб-сайте SPA (при изменении файлов .js) - PullRequest
1 голос
/ 23 апреля 2019

Я ищу правильный способ информировать пользователей об обновленной версии сайта.

Всякий раз, когда я загружаю новые производственные файлы .js, некоторые части сайта по-прежнему работают должным образом, не обновляя браузер, но большинствои пользователи могут никогда не захотеть просто обновить браузер.

Как я могу автоматически уведомлять пользователей об обновлении браузера при загрузке новых файлов .js?

I 'м с использованием Vue и Laravel-mix.

1 Ответ

2 голосов
/ 23 апреля 2019

Требуется кеш-буфер, который можно автоматизировать, например, с помощью. gulp-rev : концепция состоит в том, чтобы переименовывать файлы ресурсов при каждой сборке, чтобы они не извлекались из кэша при открытии пользователем вашего приложения.

Но этого недостаточно, если вкладка браузера открыта и обновление выполняется, пока пользователь использует приложение. В этом случае, возможно, вы захотите отобразить модальное сообщение, чтобы обновить страницу, или автоматически обновить, чтобы загрузить новую версию.

Для этого вы должны хранить номер версии (или хэш git commit) где-нибудь в вашей области SPA, когда приложение впервые открывается, и периодически проверять текущую версию бэкэнда с помощью вызова веб-службы. Если вы обнаружите изменение версии, вы увидите сообщение (и запретите пользователю использовать его старую версию).

...