Ответ 1
Google, похоже, исправил эту проблему. Это прекратилось для меня.
У меня возникает странная периодическая проблема с инструментами Chrome Developer, зависящими от старых версий файлов JavaScript. Я буду разрабатывать какое-то приложение JS, все, что жужжит, просто найдет, а потом все мои файлы JavaScript исчезнут из списка файлов JavaScript на вкладке "sources". Это моя первая подсказка, что что-то не так.
В конце концов я обнаружил, что Chrome Developer Tools, видимо, висит на старой версии файла JavaScript. Сам Chrome запрашивает и выполняет последнюю версию с сервера, но вы не можете отлаживать файл JavaScript.
Я сам "доказал", что это происходит из-за того, что он удалил какой-то конкретный файл JavaScript, который исчез из списка моих источников, и заменил его на один оператор console.log
.
Затем я перезагрузил страницу и отметил, что оператор console.log появился в консоли JavaScript. Я также отметил на вкладке "Сеть", что файл JavaScript был успешно извлечен, и что то, что произошло на проводнике, содержало только оператор строки console.log
.
Однако файл JavaScript все еще не отображался в списке источников, и если бы я нажал на имя файла в консоли (где он отображается справа от консоли, рядом с заявленным протоколом), то я прыгаю на вкладку sources и открыта старая версия файла JavaScript.
Этот файл JavaScript загружается на страницу с помощью обычного тега <script>
. Он не загружается динамически, через другой script или через eval. Просто простой, ванильный тег <script>
, который указывает на файл .js на веб-сервере.
Я пробовал:
Ни одно из них не изменило поведение. Вы можете смотреть видео, демонстрирующее это здесь, если вы мне не верите!
Я думаю, что это проблема Chrome, поскольку я могу использовать Firefox без этой проблемы... но мне очень нравятся инструменты для разработчиков Chrome и Chrome:-) Поэтому я хотел бы, чтобы это работало в Chrome...
Обновление Я сообщил об этом как об ошибке Chrome здесь. Если эта ошибка влияет на вас или важна для вас, пожалуйста, проголосуйте за нее и/или добавьте комментарии с дополнительной информацией.
Google, похоже, исправил эту проблему. Это прекратилось для меня.
Chrome DevTools отлично работает для меня. Когда я загружаю его для страницы, он помнит, что срок службы хрома зависит от того, какие источники у меня открыты; хотя это неправильно. Я вижу две отличия в prefs devtools: отключить кеш и включить карты. Поэтому я бы посоветовал:
1) снимите флажок отключить кеш (в то время как DevTools открыт), 2) (если 1 не работал) нажмите кнопку "Восстановить значения по умолчанию и перезагрузить".
Некоторые редакторы кода, такие как файлы js rubyine cache.
Чтобы решить проблему для rubyine: File > Invalidate Cache/Restart
Как предложено здесь https://groups.google.com/d/msg/google-chrome-developer-tools/2rolf--fJ3M/UTJQaZN3K28J, для среды разработки Я добавил эти заголовки при обслуживании sourcemap:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
и, похоже, выполняет эту работу (по крайней мере пока).