Chrome для Mac OS Не удается загрузить новый пакет хэшей MD5

#javascript #angular #google-chrome

#javascript #angular #google-chrome

Вопрос:

Это происходит не в Chrome для Windows, а в Chrome для Mac OS. Вместо запроса новых ресурсов с сервера Chrome пытается получить хэш старого пакета приложений из предыдущей сборки npm, и это приложение не загружается!

Консоль разработчика Chrome показывает соответствующую ошибку 404

Для меня это не имеет смысла, приложение-[хэш]-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 кэширование.

инструменты разработчика Chrome отключают кэш