Влияние производительности на использование исходных карт css/javascript в производстве?
- Должны ли использоваться исходные карты в производственной среде? Предоставляют ли они какие-либо преимущества, кроме отладки?
- Они влияют на время загрузки приложения из-за дополнительных посещений сервера? Являются ли браузеры достаточно умными для загрузки ресурсов
.map
после загрузки и отображения приложения?
- Если браузер не может найти ресурс
.map
(404
), будет ли влияние производительности? Должен ли я заботиться о его исправлении?
Обратите внимание, что исправление последнего может быть не таким простым, как обслуживание активов .map
, если есть сложные шаги сборки concit/minify.
Ответы
Ответ 1
Быстрый тест с использованием Charles Web Proxy показывает, что исходные карты загружаются только, если инструменты разработчика открыты. Если вы загружаете страницу без, инструменты разработчика открыты, для исходных карт нет http-запроса.
Поведение было таким же в Chrome 43 и Firefox 38.
Таким образом, похоже, что это не повлияет на производственную среду.
Ответ 2
Из камней HTML5:
В принципе, это способ сопоставить объединенный/уменьшенный файл с незастроенное состояние. Когда вы создаете для производства, наряду с объединяя ваши файлы JavaScript, вы создаете исходную карту, которая выполняется информацию о ваших исходных файлах. Когда вы запрашиваете определенную строку и номер столбца в вашем сгенерированном JavaScript, вы можете выполнить поиск в исходную карту, которая возвращает исходное местоположение. Инструменты разработчика (в настоящее время новинки WebKit, Google Chrome или Firefox 23+) могут автоматически проанализируйте исходную карту и заставьте ее выглядеть так, как будто вы запуск unminified и uncombined файлов.
http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/