4

Quand les navigateurs téléchargent-ils le sourcemap pour un fichier minifié?Quand les navigateurs téléchargent-ils des sources?

J'ai du mal à trouver de la documentation pour n'importe quel navigateur sur si/quand ils téléchargent un sourcemap de fichier minifié (un fichier externe se terminant par une extension .map, comme scriptname.min.js.map). J'essaie de décider à quel point je souhaite créer un fichier map (ce qui affecte considérablement la taille du fichier) mais je ne vois pas où le fichier est téléchargé dans Google Chrome (n'apparaît pas dans l'onglet réseau de Dev Tools) mais il est disponible lorsque je débogue dans l'onglet source.

+0

Pourquoi voulez-vous ajouter une carte au fichier réduit? Le fichier map est-il un fichier map privé? – karthick

+0

Juste un fichier de carte généré par mon script de construction qui n'est pas privé. –

Répondre

7

Les cartes sources sont téléchargées et jointes au navigateur lorsque vous ouvrez les outils de développement. Jusque-là le navigateur n'est pas au courant de la sourceMap.

Il y a un code de référence aux outils de développement de Chrome

https://chromium.googlesource.com/chromium/src.git/+/master/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js#73

court Contenu essentiel de ce qui se passe dans le code ci-dessus est

Une fois Devtools est fixé les déclencheurs modales et permet à l'sourceMapManager . Le gestionnaire sourceMapManager gère le fichier sourceMap dans Chrome. Une fois le SourceMapManager initialisé, il recherche les téléchargements #sourceMapUrl et attache la carte au débogueur.

Mise à jour Remarque: Il n'est pas recommandé d'ajouter sourcemap à un fichier minifié, à moins que le sourcemap ne soit servi à partir d'un réseau privé. C'est pour diverses raisons de sécurité, d'obfuscation, etc. Mais c'est juste mon opinion, cela varie en fonction de vos besoins réels. Par exemple: Si vous avez des outils de suivi des erreurs qui ont besoin du code à joindre, alors vous devrez joindre le sourcemap.

+0

Très bien. Qu'en est-il de Firefox, Safari, IE, etc? –

+0

Ce sera pareil. Depuis Chromium est l'adoptant précoce de sourcemap. Donc, tous les navigateurs le feront plus ou moins de la même manière. Chaque navigateur sait qu'il n'est pas nécessaire de charger la carte source lors du chargement de la page. Donc, la seule façon de joindre le fichier est lorsque la fenêtre du débogueur est ouverte – karthick

+0

Awesome. Avez-vous une source directe des fabricants de navigateurs? Mon fichier de carte désiré est 11mb et je ne veux pas mettre cela en production sans quelques conseils du fabricant du navigateur. –