Я вижу сообщения об ошибках файла, min.map
, не найден:
GET jQuery jquery-1.10.2.min.map запускает 404 (не найден)
Снимок экрана
Откуда это?
Я вижу сообщения об ошибках файла, min.map
, не найден:
GET jQuery jquery-1.10.2.min.map запускает 404 (не найден)
Откуда это?
Если Chrome DevTools сообщает 404 для файла .map(возможно, jquery-1.10.2.min.map
, jquery.min.map
или jquery-2.0.3.min.map
, но может произойти с чем-либо), первое, что нужно знать, это запрашивается только при использовании DevTools.
Ваши пользователи не будут бить этого 404.
Теперь вы можете исправить это или отключить функциональность sourcemap.
Затем это легко исправить. Начните с http://jquery.com/download/ и нажмите ссылку Загрузить файл карты для своей версии, и вам также понадобится загрузить несжатый файл.
Наличие файла карты на месте позволяет отлаживать ваш миниатюрный jQuery через исходные источники, что сэкономит много времени и разочарования, если вам не нравится иметь дело с именами переменных, такими как a
и c
.
Подробнее о источниках здесь: Введение в исходные карты JavaScript
Вместо того, чтобы получать файлы, вы можете альтернативно отключить исходные карты JavaScript на данный момент, в ваших настройках. Это прекрасный выбор, если вы никогда не планируете отлаживать JavaScript на этой странице. Используйте значок cog в нижнем правом углу DevTools, чтобы открыть настройки, а затем:
Вы можете удалить 404, удалив строку
//@ sourceMappingURL=jquery-1.10.2.min.map
из верхней части вашего файла jQuery.
Верхняя часть файла jQuery будет выглядеть следующим образом.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Просто измените это на
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
В принципе, это способ сопоставить объединенный/уменьшенный файл обратно в незастроенное состояние. Когда вы создаете для производства, наряду с минимизацией и объединением ваших файлов JavaScript, вы создаете исходную карту, в которой содержится информация о ваших исходных файлах. Когда вы запрашиваете определенную строку и номер столбца в сгенерированном JavaScript, вы можете выполнить поиск на исходной карте, которая возвращает исходное местоположение. Инструменты разработчика (в настоящее время ночные сборки WebKit, Google Chrome или Firefox 23+) могут автоматически анализировать исходную карту и делать ее видимой, как если бы вы запускали unminified и uncombined файлы. (Подробнее об этом здесь)
Как объявлено в jQuery 1.11.0/2.1.0 Beta 2 Released
комментарий к исходной карте будет удален, поэтому проблема не появится в более новых версиях jQuery
.
Вот официальное объявление:
Одно из изменений, внесенных в эту бета-версию, - удалить исходную карту комментарий. Sourcemaps оказались очень проблематичными и загадочными для разработчиков, генерируя множество запутанных вопросов на форумах как StackOverflow и заставляя пользователей думать, что сам jQuery сломан.
В любом случае, если вам нужно использовать исходную карту, она по-прежнему доступна:
Ну, по-прежнему нужно генерировать и распространять исходные коды, но вы будете необходимо добавить соответствующий комментарий к исходному файлу в конце миниатюрный файл, если браузер не поддерживает сопоставление вручную файлов (в настоящее время их нет). Если вы создаете собственный файл jQuery, используя пользовательский процесс сборки, комментарий sourcemap будет присутствовать в миниатюрный файл и карта сгенерирована; вы можете либо оставить его, либо использовать исходные карты или редактировать их и полностью игнорировать файл карты.
Здесь вы можете найти более подробную информацию об изменениях.
Здесь вы можете найти подтверждение, что с помощью jQuery 1.11.0/2.1.0 Released
удаляется комментарий исходной карты в мини файле.
Загрузите файл карты и несжатую версию jQuery. Поместите их с уменьшенной версией:
Включите мини-версию в свой HTML:
Проверка в Google Chrome:
Ознакомьтесь с отладкой JavaScript
Новые версии jQuery требуют этого файла http://code.jquery.com/jquery-1.10.2.min.map
Юзабилити этого файла описывается здесь http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Update:
jQuery 1.11.0/2.1.0
//sourceMappingURL комментарий не включен в сжатый файл.
Насколько я понимаю браузер, по крайней мере, Chrome, он не отключает сопоставление источников по умолчанию. Это означает, что пользователи вашего приложения будут запускать этот запрос сопоставления источника по умолчанию.
Вы можете удалить исходное сопоставление, удалив //@ sourceMappingURL=jquery.min.map
из вашего файла JavaScript.
Следуя инструкциям в других ответах, мне нужно было удалить версию из файла карты, чтобы она работала для меня.
Пример: Переименовать
jquery-1.9.1.min.map
к
jquery.min.map
Если вы хотите получить файл с исходной картой другой версии, вы можете использовать эту ссылку http://code.jquery.com/jquery-x.xx.x.min.map
Вместо x.xx.x поместите свой номер версии.
Примечание. Некоторые ссылки, которые вы получаете по этому методу, могут быть нарушены:)
Мне представили ту же проблему. Причиной для меня был Grunt, объединяющий мой файл JavaScript.
Я использовал ;\n
как разделитель, который вызвал путь к исходной карте до 404.
Поэтому инструменты dev искали jquery.min.map;
вместо jquery.min.map
.
Я знаю, что это не ответ на исходный вопрос, но я уверен, что есть другие там с аналогичной конфигурацией Grunt.
jQuery 1.11.0/2.1.0//комментарий sourceMappingURL не включен в сжатый файл.
Предполагая, что вы проверили, что файл действительно присутствует на сервере, это также может быть вызвано тем, что ваш веб-сервер ограничивает, какие типы файлов обслуживаются: