Я вижу сообщения об ошибке файла min.map
, будучи не найденным:
ПОЛУЧИТЬ jQuery jquery-1.10.2.min.map вызывает 404 (не найден)
Скриншот
Откуда это?
Я вижу сообщения об ошибке файла min.map
, будучи не найденным:
ПОЛУЧИТЬ 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.
Теперь вы можете это исправить или отключить функцию карты исходного кода.
Далее это легко исправить. Перейдите на 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+) могут автоматически анализировать исходную карту и отображать ее так, как будто вы используете незакрепленные и не объединенные файлы. (Подробнее об этом здесь )
Как было объявлено в jQuery 1.11.0/2.1.0 Beta 2 Released
исходной карте, комментарий будет удален, поэтому проблема не появится в более новых версиях jQuery
.
Вот официальное объявление:
Одним из изменений, которые мы внесли в эту бета-версию, является удаление комментария к исходной карте. Sourcemaps оказались очень проблематичной и загадочной для разработчиков, генерируя множество запутанных вопросов на форумах, таких как StackOverflow, и заставляя пользователей думать, что сам jQuery был сломан.
В любом случае, если вам нужно использовать исходную карту, она все равно будет доступна:
Мы по-прежнему будем генерировать и распространять исходные карты, но вам нужно будет добавить соответствующий комментарий исходной карты в конце уменьшенного файла, если браузер не поддерживает ручное сопоставление файлов карт (в настоящее время никто этого не делает). Если вы сгенерируете свой собственный файл jQuery с использованием пользовательского процесса сборки, комментарий к исходной карте будет представлен в минимизированном файле, и карта будет сгенерирована; Вы можете оставить его и использовать исходные карты или отредактировать его и полностью игнорировать файл карты.
Здесь вы можете найти более подробную информацию об изменениях.
Здесь вы можете найти подтверждение, что с jQuery 1.11.0/2.1.0 Released
комментарием карты источника в минимизированном файле удаляется.
Загрузите файл карты и несжатую версию jQuery .
Поместите их с уменьшенной версией:
Включите уменьшенную версию в ваш HTML :
Проверьте в Google Chrome:
Прочитайте Введение в исходные карты JavaScript
Познакомьтесь с отладкой JavaScript
Новые версии jQuery требуют этот файл http://code.jquery.com/jquery-1.10.2.min.map
Удобство использования этого файла описано здесь http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Обновить:
JQuery 1.11.0 / 2.1.0
// комментарий sourceMappingURL не включен в сжатый файл .
Как я понимаю, браузер, по крайней мере, Chrome, по умолчанию не отключает отображение источника. Это означает, что пользователи вашего приложения по умолчанию будут запускать этот запрос сопоставления источника.
Вы можете удалить исходное сопоставление, удалив //@ sourceMappingURL=jquery.min.map
из своего файла JavaScript.
Если вы хотите получить исходный файл карты другой версии, вы можете воспользоваться этой ссылкой http://code.jquery.com/jquery-x.xx.x.min.map
Вместо x.xx.x введите номер вашей версии.
Примечание: некоторые ссылки, которые вы получаете по этому методу, могут быть неработающими :)
Мне представили ту же проблему. Причиной для меня было объединение моего файла JavaScript с помощью Grunt .
Я использовал ;\n
в качестве разделителя, который привел путь к исходной карте до 404.
Так Dev инструменты искал jquery.min.map;
вместо jquery.min.map
.
Я знаю, что это не ответ на первоначальный вопрос, но я уверен, что есть другие с подобной конфигурацией Grunt.
jQuery 1.11.0 / 2.1.0 комментарий // sourceMappingURL не включен в сжатый файл.
Предполагая, что вы проверили, что файл действительно присутствует на сервере, это также может быть вызвано тем, что ваш веб-сервер ограничивает типы файлов, которые обслуживаются: