angular.min.js.map introuvable, de quoi s'agit-il exactement?


322

Lorsque je charge la page et vérifie la console Chrome, je trouve ces erreurs: entrez la description de l'image ici

que sont exactement les fichiers de carte angulaires?

J'ai fait référence au angular.min.js mais pas au angular.min.js.map. Soit dit en passant, j'utilise la version angulaire 1.2 rc et j'ai juste commencé à voir ces erreurs lorsque je suis passé à cette version.

ERRORS:
GET http://localhost:44786/Scripts/angular-route.min.js.map 404 (Not Found)       :44786/Scripts/angular-route.min.js.map:1
GET http://localhost:44786/Scripts/angular-animate.min.js.map 404 (Not Found) :44786/Scripts/angular-animate.min.js.map:1
GET http://localhost:44786/Scripts/angular-resource.min.js.map 404 (Not Found) :44786/Scripts/angular-resource.min.js.map:1
GET http://localhost:44786/Scripts/angular.min.js.map 404 (Not Found) :44786/Scripts/angular.min.js.map:1

6
Je ne peux pas lire votre image, mais j'ai trouvé ceci: html5rocks.com/en/tutorials/developertools/sourcemaps
ninMonkey

1
ah .. donc il semble que ce ne soit pas un événement exclusif angulaire ... permettez-moi de le lire d'abord .. merci beaucoup
raberana

1
hey monkey, pouvez-vous répondre à la question .. vous avez raison ..
raberana

Réponses:


385

Comme l'ont dit eaon21 et monkey, les fichiers de carte source transforment essentiellement le code minifié en sa version non minimisée pour le débogage.

Vous pouvez trouver les fichiers .map ici . Ajoutez-les simplement dans le même répertoire que les fichiers js minifiés et cela cessera de se plaindre. La raison pour laquelle ils sont récupérés est la

/*
//@ sourceMappingURL=angular.min.js.map
*/

à la fin de angular.min.js. Si vous ne voulez pas ajouter les fichiers .map, vous pouvez supprimer ces lignes et cela arrêtera la tentative de récupération, mais si vous prévoyez de déboguer, il est toujours bon de conserver les cartes sources liées.


58
Vous n'avez pas besoin de supprimer les lignes, car les fichiers .map ne sont récupérés qu'avec la console développeur ouverte :)
NicoJuicy

4
Certes, mais la question d'origine portait spécifiquement sur les erreurs apparaissant dans les outils de développement. De plus, ce n'est jamais une mauvaise chose de réduire les 404 inutiles dans les journaux de votre serveur.
Jussi Kosunen

1
Selon moi, il ne s'agit pas des journaux du serveur, mais des erreurs de chrome qu'il reçoit. Je dois admettre que cela générera des journaux de serveur et votre commentaire est valide;)
NicoJuicy

Si vous avez plusieurs fichiers tels que bootstrap.css, angular-messages.min.js, angular-route.min.js, etc., même ces fichiers en contiendront sourceMappingURLà la fin de chacun de ces fichiers. La suppression de cette ligne dans chacun de ces fichiers supprimera les messages d'erreur embêtants dans la console développeur.
Devner

1
Dans le navigateur Safari, ces problèmes de casse JS Error: [Erreur] Impossible de charger la ressource: le serveur a répondu avec un état de 404 (introuvable) (angular.min.js.map, ligne 0). merci d'avoir fourni les liens de fichiers.
Sinto

105

Le singe a raison, selon le lien donné par le singe

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.

Je ne sais pas si c'est de la faute d'angular qu'aucun fichier de carte n'a été généré. Mais vous pouvez désactiver les fichiers de carte source en décochant cette option dans les paramètres de la console Chrome

entrez la description de l'image ici


13
+1 pour le réglage de la console chromée; bien mieux que de modifier la source ou de télécharger les fichiers de carte en cas de besoin.
Jeremy Ferguson

4
+1 pour cela plus d'un an plus tard. Bravo. Quel mystère ce décor était!
bob.mazzo

1
Dans Chrome, ouvrez la boîte de dialogue des paramètres en: Appuyez sur F12 pour ouvrir Developer Tools> Cliquez sur le bouton Paramètres dans le coin supérieur droit deDeveloper Tools
Tho

Existe-t-il un cadre similaire pour le safari?
user1872384
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.