#javascript #angular #google-chrome
#javascript #angular #google-chrome
Вопрос:
Это происходит не в Chrome для Windows, а в Chrome для Mac OS. Вместо запроса новых ресурсов с сервера Chrome пытается получить хэш старого пакета приложений из предыдущей сборки npm, и это приложение не загружается!
Для меня это не имеет смысла, приложение-[хэш]-bundle.js изменился, хэш изменился, что должно привести к сбою кэша Chrome.
Я не уверен, что делать, мне не нужно делать что-то вроде app-[hash]-bundle.js?refresh= [ticks] хэш выполняет ту же цель.
Комментарии:
1. просто чтобы убедиться, вы также проверили, отключен ли кэш в Chrome на Mac, с которым вы тестируете? иногда только это полностью очищает кеш
2. В любом случае это не решило бы мою проблему, пытаясь исправить это для клиентов моего веб-приложения
3. Я имею в виду, если вы недавно обновили пакет, вполне вероятно, что браузеры некоторых людей все еще используют кэшированную версию (старую). Также вы уверены, что это только на Mac? Если возможно, что произойдет, если вы протестируете это на Mac, у которого отключен кэш?
4. Я могу развернуть новый пакет, и этого не произойдет в Windows, если я отключу кэш в Mac Chrome, сайт, конечно, загрузится
5. Я думаю, это может произойти из-за кэширования
index.html
. Поскольку вы можете изменить хэш файлов js, но браузеры загружают кэшированныйindex.html
, который ссылается на старые скрипты. Попробуйте проверить свойindex.html
код, который загружается первым на Mac и Windows
Ответ №1:
Я тоже испытал это, и это невероятно расстраивает, когда браузер отказывается удалять файл из своего кэша. Это происходит потому, что ваш браузер кэшировал index.html
файл. Вы можете попробовать несколько способов обойти это:
1. Добавьте мета-теги в index.html
Попробуйте добавить их в <head>
из index.html , затем очистите кэш. Это не всегда работает / не рекомендуемый способ сделать это.
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
2. Отключите кэш Chrome
Отключите кэш Chrome с помощью этого параметра, чтобы предотвратить index.html
кэширование.