Инструменты Chrome Dev - сопоставление сетевого ресурса с локальным файлом не работает

Является ли локальное сопоставление файлов dev альтернативными для прокси-сервера Charles в firefox? Я пытаюсь сопоставить ресурс сервера удаленный в локальном файле, но он, похоже, не работает. Консольные заявления и изменения в JS файле, похоже, не применяются при перезагрузке страницы.

Я вижу локальную папку и файл, указанный в папке с источниками. Кроме того, посмотрите, что источники не показывают оригинальный JS файл. Но я вижу это сообщение на вкладке sources для локального файла.

Несоответствие отображения рабочего пространства

Остальное предупреждение указывает, что файл в локальной папке отличается от файла с удаленным загруженным файлом. Почему это проблема, не всегда ли это так, потому что вы хотите редактировать файл локально?

Что мне не хватает? Любые указатели на это? Является ли мое предположение неправильным, что эта функция в инструментах chrome dev позволяет загружать ресурс локально, как если бы он был загружен из исходного местоположения?

Я снова проверил это с помощью простой html-страницы с одним файлом js, имеющим простой консольный журнал - "загрузка удаленного файла...". Этот файл сопоставляется с локальным js с другим оператором журнала "загрузка локального файла.." Однако я все еще вижу сообщение журнала из удаленного файла.

Добавлен снимок из вкладки источников инструментов dev для большего контекста. Вкладка "Источники" отображает локальную папку и файл правильно, но отображается предупреждение о отображении. Также обратите внимание, что у источников больше нет файла remote.js. Snapshot from dev tools sources tab

Ответ 1

Я полагаю, что эта функция в инструментах chrome dev позволяет загружать ресурс локально, как если бы он был загружен из исходного местоположения?

Я не думаю, что это точно. Когда вы сопоставляете файл с сервером в своем локальном рабочем пространстве, Chrome действует как своего рода редактор для ваших локальных файлов. Вы можете редактировать файлы через Chrome и Command + S для сохранения локальных файлов. Но на сервере ничего не изменилось. Он не обновляет файлы на сервере и не сообщает Chrome "Использовать локальные файлы вместо того, что на сервере".

Что многие делают, это автоматизировать процесс развертывания, так что, когда локальный файл обновляется (либо через Chrome + Workspace Mapping, либо просто путем редактирования в вашем редакторе), ваша рабочая копия развертывается. Таким образом, в следующий раз, когда вы перезагрузите браузер, вы увидите свои изменения.

Изменить: Из документации рабочей области:

И вы можете сопоставлять ресурсы, обслуживаемые с локального веб-сервера, на файлы на диске, поэтому, когда вы меняете и сохраняете эти файлы, вы можете просматривать их так, как будто они обслуживаются.

Я думаю, что ключом здесь является локальный веб-сервер. Я немного поработал и нашел этот инструмент для разработчиков docs, с комментарием, эффективно говорящим, что то, что вы пытаетесь сделать, не поддерживается

В настоящее время DevTools не выполняет подстановку ресурсов. Он может просто сопоставлять удаленные файлы с вашей локальной копией, поэтому, если что-то происходит в синхронизации (например, с использованием локального сервера в системе), то при обновлении ваших изменений может сохраняться.

Похоже, вам понадобится способ развертывания после внесения изменений или указать рабочее пространство devtools на сервер docroot.

Ответ 2

Функция "map local" в Charles Proxy была запрошена командой Chromium в этой проблеме, и команда отказалась преследовать ее.