У меня проект на vue3. После загрузки обновы на сервер у пользователя всё ещё остаётся старая версия. Возможно ли сделать так что-бы index страница не кэшировалась и всегда загружать с сервера?
Dmitry Bay, index.html без хэша, лол. И именно он у юзера закэширован, со ссылками на старые либы.
ski28, самый простой и тупой вариант - класть файлик version с номером версии и пинговать его с клиента постоянно: если изменилась версия - выводить юзеру уведомление вида
"Доступно обновление, требуется <a @click="location.reload()">перезагрузить страницу</a>."
Такое уведомление, а не сразу перегруз, нужно, чтоб юзер сохранил что мог.
Дальше только правильно кэш настроить - чтоб перегруз действительно перегружал, тут уж гуглите параметры кэша вашего конкретного сервера.
Aetae, я сейчас так и делаю, но хотелось - что бы index.html всегда запрашивался с сервера новый. А в нём уже список скриптов которые могут быть у пользователя.
ski28, очевидно что воркер правильно настроен должен быть. Воркер - это полностью контролируемый тобой кэш. Копай сам как у тебя там что настроено для индекса.
но хотелось - что бы index.html всегда запрашивался с сервера новый.
По умолчанию так и должно быть. Если нет - это вы что-то где-то сломали.
Если конечно под "всегда" вы подразумеваете первый заход на сайт и обновление действием браузера. Если имеется ввиду также переходы по любым внутренним url, то, естественно это не работает, потому что все переходы виртуальны, в чём суть скорости работы spa.
Aetae, Да мне бы хотя просто подсказать , куда капать. Я нечего не настраивал специально. Все работает по дэфолту. Под всегда я подразумеваю любой заход на сайт а не первое посещение. Если перейти по внутренним ссылкам захешированова сайт и уже на этой странице обновиться то подгрузиться новый index