Je vois des messages d'erreur sur un fichier, min.map
introuvable:
GET jQuery's jquery-1.10.2.min.map déclenche un 404 (introuvable)
Capture d'écran
D'où cela vient-il?
Je vois des messages d'erreur sur un fichier, min.map
introuvable:
GET jQuery's jquery-1.10.2.min.map déclenche un 404 (introuvable)
D'où cela vient-il?
Réponses:
Si Chrome DevTools signale un 404 pour un fichier .map (peut jquery-1.10.2.min.map
- être jquery.min.map
ou jquery-2.0.3.min.map
peut arriver avec n'importe quoi), la première chose à savoir est que cela n'est demandé que lors de l'utilisation des DevTools.
Vos utilisateurs ne toucheront pas ce 404.
Vous pouvez maintenant résoudre ce problème ou désactiver la fonctionnalité de sourcemap.
Ensuite, c'est une solution facile. Rendez-vous sur http://jquery.com/download/ et cliquez sur le lien Télécharger le fichier de carte pour votre version, et vous souhaiterez également que le fichier non compressé soit téléchargé.
La mise en place du fichier de carte vous permet de déboguer votre jQuery minifié via les sources d'origine, ce qui vous fera gagner beaucoup de temps et de frustration si vous n'aimez pas traiter avec des noms de variables comme a
et c
.
Plus d'informations sur les sourcemaps ici: Une introduction aux cartes source JavaScript
Au lieu d'obtenir les fichiers, vous pouvez également désactiver complètement les cartes source JavaScript pour l'instant, dans vos paramètres. C'est un bon choix si vous ne prévoyez jamais de déboguer JavaScript sur cette page. Utilisez l'icône de rouage en bas à droite des DevTools, pour ouvrir les paramètres, puis:
Vous pouvez supprimer le 404 en supprimant la ligne
//@ sourceMappingURL=jquery-1.10.2.min.map
à partir de la partie supérieure de votre fichier jQuery.
La partie supérieure du fichier jQuery ressemblera à ceci.
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/
Il suffit de changer cela en
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
Fondamentalement, c'est un moyen de mapper un fichier combiné / minifié à un état non construit. Lorsque vous générez pour la production, en plus de réduire et de combiner vos fichiers JavaScript, vous générez une carte source qui contient des informations sur vos fichiers d'origine. Lorsque vous interrogez un certain numéro de ligne et de colonne dans votre code JavaScript généré, vous pouvez effectuer une recherche dans la carte source qui renvoie l'emplacement d'origine. Les outils de développement (actuellement les versions WebKit nocturnes, Google Chrome ou Firefox 23+) peuvent analyser automatiquement la carte source et la faire apparaître comme si vous exécutiez des fichiers non minifiés et non combinés. (En savoir plus ici )
Comme il est annoncé dans jQuery 1.11.0/2.1.0 Beta 2 Released
la carte source, le commentaire sera supprimé afin que le problème n'apparaisse pas dans les versions plus récentes de jQuery
.
Voici l'annonce officielle:
L'une des modifications que nous avons apportées à cette version bêta consiste à supprimer le commentaire de la carte source. Les sourcemaps se sont révélés être une chose très problématique et déroutante pour les développeurs, générant des dizaines de questions confuses sur des forums comme StackOverflow et amenant les utilisateurs à penser que jQuery lui-même était cassé.
Quoi qu'il en soit, si vous devez utiliser une carte source, elle sera toujours disponible:
Nous continuerons à générer et à distribuer des cartes sources, mais vous devrez ajouter le commentaire de carte source approprié à la fin du fichier minifié si le navigateur ne prend pas en charge l'association manuelle des fichiers de carte (actuellement, aucun ne le fait). Si vous générez votre propre fichier jQuery à l'aide du processus de génération personnalisé, le commentaire sourcemap sera présent dans le fichier minifié et la carte est générée; vous pouvez le laisser dans et utiliser les cartes sources ou le modifier et ignorer complètement le fichier de carte.
Ici vous pouvez trouver plus de détails sur les changements.
Ici, vous pouvez trouver la confirmation que le jQuery 1.11.0/2.1.0 Released
commentaire de la carte source dans le fichier minifié est supprimé.
Téléchargez le fichier de carte et la version non compressée de jQuery .
Mettez-les avec la version minifiée:
Inclure une version minifiée dans votre HTML :
Vérifiez dans Google Chrome:
Familiarisez-vous avec le débogage de JavaScript
Les nouvelles versions de jQuery nécessitent ce fichier http://code.jquery.com/jquery-1.10.2.min.map
La convivialité de ce fichier est décrite ici http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Mise à jour:
jQuery 1.11.0 / 2.1.0
// le commentaire sourceMappingURL n'est pas inclus dans le fichier compressé .
Si je comprends bien le navigateur, Chrome au moins, il ne désactive pas le mappage source par défaut. Cela signifie que les utilisateurs de votre application déclencheront cette demande de mappage source par défaut.
Vous pouvez supprimer le mappage source en supprimant le //@ sourceMappingURL=jquery.min.map
de votre fichier JavaScript.
Si vous souhaitez obtenir une version différente du fichier de carte source, vous pouvez utiliser ce lien http://code.jquery.com/jquery-x.xx.x.min.map
Au lieu de cela, x.xx.x mettez votre numéro de version.
Remarque: certains liens que vous obtenez avec cette méthode peuvent être rompus :)
On m'a présenté le même problème. La cause pour moi était Grunt concaténant mon fichier JavaScript.
J'utilisais un ;\n
comme séparateur qui a provoqué le chemin vers la carte source à 404.
Donc, les outils de développement recherchaient au jquery.min.map;
lieu de jquery.min.map
.
Je sais que ce n'est pas la réponse à la question d'origine, mais je suis sûr qu'il y en a d'autres avec une configuration Grunt similaire.
jQuery 1.11.0 / 2.1.0 le commentaire // sourceMappingURL n'est pas inclus dans le fichier compressé.
En supposant que vous avez vérifié que le fichier est réellement présent sur le serveur, cela peut également être dû au fait que votre serveur Web restreint les types de fichiers servis: