web-dev-qa-db-fra.com

jQuery-1.10.2.min.map de jQuery déclenche un 404 (introuvable)

Je vois des messages d'erreur concernant un fichier, min.map, introuvable:

GET jQuery's jquery-1.10.2.min.map déclenche un 404 (introuvable)


Capture d'écran

enter image description here

D'où vient-il?

1044
Paul Irish

Si Chrome DevTools rapporte 404 pour un fichier .map (peut-être jquery-1.10.2.min.map, jquery.min.map ou jquery-2.0.3.min.map, mais peut arriver avec n'importe quoi), la première chose à savoir est-ce que est uniquement demandé lors de l'utilisation de DevTools. Vos utilisateurs ne viseront pas ce 404.

Vous pouvez maintenant résoudre ce problème ou désactiver la fonctionnalité de carte source.

Correction: récupère les fichiers

Ensuite, c'est une solution facile. Allez sur http://jquery.com/download/ et cliquez sur le lien Téléchargez le fichier de carte correspondant à votre version, et vous voudrez également télécharger le fichier non compressé.

enter image description here

Avoir le fichier de carte en place vous permet de déboguer votre jQuery réduit via les sources originales, ce qui vous épargnera 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 sources de sources ici: Introduction aux cartes sources JavaScript

Esquiver: désactiver les cartes source

Au lieu de récupérer les fichiers, vous pouvez également désactiver complètement les cartes source JavaScript pour le moment, dans vos paramètres. C'est un choix judicieux si vous ne prévoyez jamais de déboguer JavaScript sur cette page. Utilisez l’icône cog en bas à droite de DevTools pour ouvrir les paramètres, puis: enter image description here

1266
Paul Irish

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 */

But d'une carte source

Fondamentalement, c'est un moyen de mapper un fichier combiné/réduit à 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 contenant 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 (versions nocturnes WebKit actuelles, Google Chrome ou Firefox 23+) peuvent analyser automatiquement la carte source et la faire apparaître comme si vous exécutiez des fichiers non minés et non combinés. (En savoir plus sur ce ici )

273
kiranvj

Comme annoncé dans jQuery 1.11.0/2.1.0 Beta 2 Released, le commentaire de la carte source sera supprimé de sorte que le problème n'apparaisse pas dans les versions plus récentes de jQuery.

Voici l'annonce officielle:

L’un des changements apportés dans cette version bêta consiste à supprimer le commentaire de la carte source. Les cartes mères se sont révélées être un problème très complexe et déroutant pour les développeurs, générant une multitude de questions confuses sur des forums tels que StackOverflow et incitant les utilisateurs à penser que jQuery était cassé.

Quoi qu'il en soit, si vous devez utiliser une carte source, celle-ci reste disponible:

Nous continuerons de générer et de distribuer des cartes source, mais vous devrez ajouter le commentaire de carte source approprié à la fin du fichier réduit si le navigateur ne prend pas en charge l’association manuelle des fichiers de carte (actuellement, ce n’est pas le cas). Si vous générez votre propre fichier jQuery à l'aide du processus de construction personnalisé, le commentaire de la carte source sera présent dans le fichier réduit et la carte sera générée. vous pouvez le laisser et utiliser des cartes mères 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 confirmation que, avec jQuery 1.11.0/2.1.0 Released _, le commentaire de carte source dans le fichier réduit est supprimé.

44
gotqn
  1. Télécharger le fichier map et la version non compressée de jQuery. Mettez-les avec la version minifiée: JavaScript

  2. Inclure la version minifiée dans votre code HTML: HTML

  3. Vérifiez dans Google Chrome: Google Chrome

  4. Lire Introduction aux cartes source JavaScript

  5. Familiarisez-vous avec Débogage de JavaScript

41
kayz1

Les nouvelles versions de jQuery nécessitent ce fichier http://code.jquery.com/jquery-1.10.2.min.map

La facilité d’utilisation de ce fichier est décrite ici http://www.html5rocks.com/fr/tutorials/developertools/sourcemaps/

Mise à jour:

jQuery 1.11.0/2.1.0

// Le commentaire sourceMappingURL n'est pas inclus dans le fichier compressé .

16
Andres Separ

Si je comprends bien le navigateur, Chrome au moins, il ne désactive pas le mappage de source par défaut. Cela signifie que les utilisateurs de votre application vont déclencher cette demande de mappage de source par défaut.

Vous pouvez supprimer le mappage source en supprimant le //@ sourceMappingURL=jquery.min.map de votre fichier JavaScript.

9
James J. Ye

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 a mis votre numéro de version.

Remarque: Certains liens que vous obtenez sur cette méthode peuvent être cassés :)

9
Andriyun

Après avoir suivi les instructions des autres réponses, je devais effacer la version du fichier de carte pour que cela fonctionne pour moi.

Exemple: renommer

jquery-1.9.1.min.map

à

jquery.min.map

8
drobison

On m'a présenté le même problème. La cause pour moi était Grunt concaténer mon fichier JavaScript.

J'utilisais un ;\n comme séparateur, ce qui entraînait le chemin de la carte source à 404.

Donc, dev tools cherchait jquery.min.map; au lieu de jquery.min.map.

Je sais que ce n'est pas la réponse à la question initiale, mais je suis sûr qu'il en existe d'autres avec une configuration Grunt similaire.

6
nickspiel

jQuery 1.11.0/2.1.0 le commentaire // sourceMappingURL n'est pas inclus dans le fichier compressé.

5
user3235672

Si vous avez vérifié que le fichier est réellement présent sur le serveur, cela pourrait également être dû au fait que votre serveur Web limite les types de fichiers servis:

1
Molomby