Как заставить Chrome перезагружать исходные карты?
Я нахожусь в Chrome Dev 27, а в настройках Dev Tools установлен Disable cache. Когда я перезагружаю страницу, Chrome правильно перезагружает все ресурсы, используемые страницей карты, включая файлы .js
. Однако он автоматически не перезагружает соответствующие исходные карты .map
. Мониторинг HTTP-трафика между Chrome моим приложением, при последующей загрузке страницы, я не вижу запроса от Chrome для файлов .map
. Как я могу заставить Chrome также перезагрузить исходные карты?
Проблема с Chrome не перезагрузкой файла .map
заключается в том, что он также не перезагрузит файл, из которого был сгенерирован .js
, который в моем случае является файлом CoffeeScript (.coffee
), который означает, что при отладке на вкладке "Источники" я смотрю на старую версию файла .coffee
, даже если запущен новый код (из .js
).
Ответы
Ответ 1
У меня была такая же проблема только сегодня. Ожидание решения для меня заключалось в том, чтобы закрыть вкладку файла кофе в источниках, перейти на вкладку сети, щелкнуть правой кнопкой мыши и выбрать "Очистить кеш браузера"
Это исправило это для меня.
Тем не менее, отображаемые файлы не всегда "застревают" в кеше для меня... Только иногда, и когда они это делают, четкий трюк кэша исправляет его.
Ответ 2
Перейти к настройкам → Показать дополнительные параметры → Очистить данные просмотра → Проверить только "кэшированные изображения и файлы" → Нажмите "Очистить данные просмотра"
Это очистит исходные карты, которые вы кэшировали в браузере, не удаляя все файлы cookie.
Ответ 3
У вас была такая же проблема и были найдены некоторые дополнительные решения:
В соответствии с этим commit и этот отчет об ошибке для хром, проблема решена и не должна влиять на одну из следующих сборок.
Немного проще для решения этой проблемы, чем очистка всего кэша браузера:
Откройте исходную карту на вкладке браузера и выполните жесткую перезагрузку (в зависимости от ОС, попробуйте CTRL + F5). Это обновляет файл и сохраняет кеш браузера.
Альтернативный способ и, возможно, хорошая практика - взломать создание исходной карты, добавив параметр, например ?build=12345
. Обратитесь к инструменту сборки о том, как манипулировать именем файла исходной карты.
Если у вас есть доступ к конфигурации сервера или .htaccess
, вы можете установить заголовок Cache-Control: no-cache
для расширения карты источника, например '.js.map'.
Ответ 4
Я решил проблему удалить файл .map и выполнить жесткую перезагрузку (CTRL-F5).
Я не хотел потерять всю свою историю!