web-dev-qa-db-fra.com

Quand les navigateurs téléchargent-ils les sourcemaps?

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

J'ai du mal à trouver de la documentation pour n'importe quel navigateur sur le moment où ils téléchargent la carte source d'un fichier minifié (un fichier externe se terminant par un .map extension, comme scriptname.min.js.map).

J'essaie de décider du niveau de détail d'un fichier de carte que je veux créer (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'apparaissant pas dans le réseau de Dev Tools) mais il est disponible lorsque je débogue dans l'onglet source.

25
Ben Rondeau

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

Il existe une référence de code aux outils de développement de Chrome

https://chromium.googlesource.com/chromium/src/+/refs/tags/75.0.3770.67/third_party/blink/renderer/devtools/front_end/sdk/DebuggerModel.js

this._sourceMapManager.setEnabled(Common.moduleSetting('jsSourceMapsEnabled').get());

Un bref résumé de ce qui se passe dans le code ci-dessus est

Une fois Devtools attaché, les déclencheurs modaux et activent le sourceMapManager. Le sourceMapManager gère le 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: ce n'est pas une pratique d'ajouter des sourcemap à un fichier minifié, sauf si le sourcemap est servi à partir d'un réseau privé. C'est pour diverses raisons de sécurité, d'obscurcissement, etc. Mais ce n'est que mon avis, cela varie en fonction de vos besoins réels. Par exemple: Si vous avez des outils de suivi des erreurs qui nécessitent que le code soit attaché, vous devrez alors attacher le sourcemap.

34
karthick