Veo mensajes de error sobre un archivo min.map
, que no se encuentra:
OBTENER jQuery's jquery-1.10.2.min.map está activando un 404 (no encontrado)
Captura de pantalla
¿De dónde viene esto?
Veo mensajes de error sobre un archivo min.map
, que no se encuentra:
OBTENER jQuery's jquery-1.10.2.min.map está activando un 404 (no encontrado)
¿De dónde viene esto?
Respuestas:
Si Chrome DevTools informa un 404 para un archivo .map (tal vez jquery-1.10.2.min.map
, jquery.min.map
o jquery-2.0.3.min.map
puede ocurrir con cualquier cosa), lo primero que debe saber es que esto solo se solicita al usar DevTools.
Sus usuarios no alcanzarán este 404.
Ahora puede arreglar esto o deshabilitar la funcionalidad del mapa fuente.
A continuación, es una solución fácil. Dirígete a http://jquery.com/download/ y haz clic en el enlace Descargar el archivo de mapa para tu versión, y también querrás descargar el archivo sin comprimir.
Tener el archivo de mapa en su lugar le permite depurar su jQuery minimizado a través de las fuentes originales, lo que le ahorrará mucho tiempo y frustración si no le gusta tratar con nombres de variables como a
y c
.
Más información sobre los mapas de origen aquí: Introducción a los mapas de origen de JavaScript
En lugar de obtener los archivos, también puede deshabilitar completamente los mapas fuente de JavaScript por ahora, en su configuración. Esta es una buena opción si nunca planea depurar JavaScript en esta página. Use el icono de engranaje en la parte inferior derecha de DevTools para abrir la configuración y luego:
Puede eliminar el 404 eliminando la línea
//@ sourceMappingURL=jquery-1.10.2.min.map
desde la parte superior de su archivo jQuery.
La parte superior del archivo jQuery se verá así.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Solo cambia eso a
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
Básicamente es una forma de asignar un archivo combinado / minificado a un estado sin construir. Cuando construye para la producción, junto con la minificación y combinación de sus archivos JavaScript, genera un mapa fuente que contiene información sobre sus archivos originales. Cuando consulta un cierto número de línea y columna en su JavaScript generado, puede hacer una búsqueda en el mapa fuente que devuelve la ubicación original. Las herramientas de desarrollo (actualmente compilaciones nocturnas de WebKit, Google Chrome o Firefox 23+) pueden analizar el mapa fuente automáticamente y hacer que parezca que estás ejecutando archivos no minificados y no combinados. (Lea más sobre esto aquí )
Como se anuncia en jQuery 1.11.0/2.1.0 Beta 2 Released
el mapa fuente, el comentario se eliminará, por lo que el problema no aparecerá en las versiones más recientes de jQuery
.
Aquí está el anuncio oficial:
Uno de los cambios que hemos realizado en esta versión beta es eliminar el comentario del mapa fuente. Los mapas fuente han demostrado ser muy problemáticos y desconcertantes para los desarrolladores, generando decenas de preguntas confusas en foros como StackOverflow y haciendo que los usuarios piensen que jQuery está roto.
De todos modos, si necesita usar un mapa fuente, todavía estará disponible:
Seguiremos generando y distribuyendo mapas de origen, pero deberá agregar el comentario de mapa de origen apropiado al final del archivo minimizado si el navegador no admite la asociación manual de archivos de mapa (actualmente, ninguno lo hace). Si genera su propio archivo jQuery utilizando el proceso de compilación personalizado, el comentario del mapa fuente estará presente en el archivo minificado y se generará el mapa; puede dejarlo y usar mapas de origen o editarlo e ignorar el archivo de mapa por completo.
Aquí puede encontrar más detalles sobre los cambios.
Aquí puede encontrar la confirmación de que con el jQuery 1.11.0/2.1.0 Released
comentario del mapa fuente en el archivo minimizado se elimina.
Descargue el archivo de mapa y la versión sin comprimir de jQuery .
Póngalos con la versión minificada:
Incluya la versión minimizada en su HTML :
Comprobar en Google Chrome:
Familiarícese con la depuración de JavaScript
Las nuevas versiones de jQuery requieren este archivo http://code.jquery.com/jquery-1.10.2.min.map
La usabilidad de este archivo se describe aquí http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Actualizar:
jQuery 1.11.0 / 2.1.0
// el comentario de sourceMappingURL no está incluido en el archivo comprimido .
Según entiendo el navegador, Chrome al menos, no deshabilita la asignación de origen de forma predeterminada. Eso significa que los usuarios de su aplicación activarán esta solicitud de asignación de origen de forma predeterminada.
Puede eliminar la asignación de origen eliminando la //@ sourceMappingURL=jquery.min.map
de su archivo JavaScript.
Si desea obtener una versión diferente del archivo de mapa fuente, puede usar este enlace http://code.jquery.com/jquery-x.xx.x.min.map
En su lugar, x.xx.x ponga su número de versión.
Nota: Algunos enlaces, que obtienes en este método, pueden estar rotos :)
Me presentaron el mismo problema. La causa para mí fue Grunt concatenando mi archivo JavaScript.
Estaba usando un ;\n
como separador que causó la ruta al mapa de origen a 404.
Así que las herramientas de desarrollo estaban buscando en jquery.min.map;
lugar de jquery.min.map
.
Sé que esa no es la respuesta a la pregunta original, pero estoy seguro de que hay otros con una configuración de Grunt similar.
jQuery 1.11.0 / 2.1.0 el comentario // sourceMappingURL no está incluido en el archivo comprimido.
Suponiendo que haya verificado que el archivo está realmente presente en el servidor, esto también podría deberse a que su servidor web restringe qué tipos de archivos se sirven: