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

Je vois des messages d'erreur concernant un fichier, min.map, qui n'a pas été trouvé :

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


Screenshot

![entrer la description de l'image ici][2]

D'où cela vient-il ?

[2] : http://i.stack.imgur.com/M6CMw.png

Solution

Si Chrome DevTools signale une erreur 404 pour un fichier .map (peut-être jquery-1.10.2.min.map, jquery.min.map ou jquery-2.0.3.min.map, mais cela peut arriver avec n'importe quoi), la première chose à savoir est que cela n'est demandé que lorsque vous utilisez les DevTools. **Vos utilisateurs ne rencontreront pas cette erreur 404.

Maintenant, vous pouvez corriger cela ou désactiver la fonctionnalité sourcemap.

Correction : récupérer les fichiers

Ensuite, c'est une correction facile. Rendez-vous sur http://jquery.com/download/ et cliquez sur le lien Télécharger le fichier de la carte pour votre version, et vous voudrez également télécharger le fichier non compressé.

![entrez la description de l'image ici][1]

Avoir le fichier map en place vous permet de déboguer votre jQuery minifié via les sources originales, ce qui vous fera gagner beaucoup de temps et de frustration si vous n'aimez pas vous occuper des noms de variables comme a et c.

Pour en savoir plus sur les cartes de sources, cliquez ici : [An Introduction to JavaScript Source Maps] (http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/)

Esquive : désactiver les cartes de source

Au lieu de récupérer les fichiers, vous pouvez aussi désactiver complètement les cartes de sources JavaScript 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 en forme de rouage en bas à droite des DevTools, pour ouvrir les paramètres, puis : ![entrez la description de l'image ici][2]

[1] : http://i.stack.imgur.com/lfwrB.png [2] : http://i.stack.imgur.com/Ezwue.png

Commentaires (11)

Vous pouvez supprimer la 404 en supprimant la ligne

//@ sourceMappingURL=jquery-1.10.2.min.map

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

Changez cela en

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

Objectif d'une carte source

Il s'agit essentiellement d'un moyen de faire correspondre un fichier combiné/minifié à un état non construit. Lorsque vous construisez pour la production, en même temps que vous réduisez et combinez vos fichiers JavaScript, vous générez une carte source qui contient des informations sur vos fichiers originaux. Lorsque vous interrogez un certain numéro de ligne et de colonne dans votre 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 WebKit nightly builds, Google Chrome ou Firefox 23+) peuvent analyser automatiquement la carte source et donner l'impression que vous exécutez des fichiers non minifiés et non combinés. (Pour en savoir plus [ici][1])

[1] : http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

Commentaires (6)

D'après ce que je comprends, le navigateur, Chrome en tout cas, ne désactive pas le mappage de la source par défaut. Cela signifie que les utilisateurs de votre application déclencheront cette demande de mappage de source par défaut.

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

Commentaires (0)