Каждый браузер выполняет кеширование, и это совершенно нормально, если вы не сразу видите изменения в клиентском браузере. Браузеру требуется некоторое время, чтобы понять, что код был изменен на сервере, и ему необходимо обновить свой локальный кеш. И полностью зависит от настроек браузера клиента и скорости соединения клиента.
Но если в ваших ситуациях требуется, чтобы у клиента была обновленная версия сайта в кратчайшие сроки, существует обходной путь.
Файл main.dart.js
выглядит примерно так:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My Flutter App</title>
</head>
<body>
<script src="main.dart.js" type="application/javascript"></script>
</body>
</html>
Чтобы заставить браузеры перезагружать приложение каждый раз, когда мы этого хотим, добавьте уникальный параметр в main.dart. js script-sr c (например, версия, хотя это может быть что угодно, даже случайное число после?). Новый индекс. html будет выглядеть следующим образом:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My Flutter App</title>
</head>
<body>
<script src="main.dart.js?version=1" type="application/javascript"></script>
</body>
</html>
Минусы:
При каждом развертывании необходимо вручную добавлять увеличенный номер версии. Возможно, вы можете написать скрипт для этого.
Это все еще занимает время, если у клиента медленное соединение inte rnet. Проблема возникает, когда браузеры, такие как Chrome показывают Lite
(кэшированную) версию веб-сайта, пока inte rnet соединение не будет достаточно быстрым.
Предыдущие версии по-прежнему сохраняются на браузер клиента до истечения времени ожидания