Kürzlich habe ich Dateien mit .js.map
Erweiterung gesehen, die mit einigen JavaScript-Bibliotheken (wie Angular ) ausgeliefert wurden, und das hat nur ein paar Fragen in meinem Kopf aufgeworfen:
- Wofür ist das? Warum kümmern sich die Jungs von Angular darum, eine
.js.map
Datei zu liefern ? - Wie kann ich (als JavaScript-Entwickler) die
angular.min.js.map
Datei verwenden? - Sollte es mir wichtig sein,
.js.map
Dateien für meine JavaScript-Anwendungen zu erstellen? - Wie entsteht es? Ich habe es mir angesehen
angular.min.js.map
und es war mit seltsam formatierten Zeichenfolgen gefüllt, daher gehe ich davon aus, dass es nicht manuell erstellt wurde.
javascript
angularjs
source-maps
Muhammad Reda
quelle
quelle
Antworten:
Die
.map
Dateien sind fürjs
undcss
(und jetztts
auch) Dateien, die minimiert wurden. Sie heißen SourceMaps. Wenn Sie eine Datei wie die Datei angle.js minimieren, werden Tausende von Zeilen hübschen Codes benötigt und in nur wenige Zeilen hässlichen Codes umgewandelt. Wenn Sie Ihren Code an die Produktion senden, verwenden Sie hoffentlich den minimierten Code anstelle der vollständigen, nicht minimierten Version. Wenn Ihre App in Produktion ist und einen Fehler aufweist, hilft die Quellkarte dabei, Ihre hässliche Datei aufzunehmen, und ermöglicht es Ihnen, die Originalversion des Codes anzuzeigen. Wenn Sie die Quellkarte nicht hätten, wäre jeder Fehler bestenfalls kryptisch.Gleiches gilt für CSS-Dateien. Sobald Sie eine SASS- oder WENIGER-Datei in CSS kompiliert haben, sieht sie nicht mehr wie die ursprüngliche Form aus. Wenn Sie Quellkarten aktivieren, wird anstelle des geänderten Status der ursprüngliche Status der Datei angezeigt.
Um Ihre Fragen der Reihe nach zu beantworten:
Ich hoffe das macht Sinn.
quelle
.js.map
Datei nicht eine Beziehung (oft als Referenz bezeichnet ) zwischen einer handgefertigten Datei und einer minimierten Datei?Ich wollte mich nur auf den letzten Teil der Frage konzentrieren. Wie werden Quellkartendateien erstellt? Durch Auflisten der mir bekannten Build-Tools, mit denen Quellkarten erstellt werden können.
grunt-contrib-uglify
gulp-uglify
--create_source_map
quelle
Ich habe in den Kommentaren keine Antwort darauf gefunden. Hier ist, wie verwendet werden kann:
Minifiacation-Tools (gute) fügen Ihrer .min.js- Datei einen Kommentar hinzu :
// # sourceMappingURL = yourFileName.min.js.map
Dadurch wird Ihre .map- Datei verbunden.
Wenn die Dateien min.js und js.map fertig sind ...
quelle
Die Zuordnungsdatei ordnet die nicht minimierte Datei der minimierten Datei zu. Wenn Sie Änderungen an der nicht minimierten Datei vornehmen, werden die Änderungen automatisch in die minimierte Version der Datei übernommen.
quelle
Nur um die Verwendung von Kartendateien zu ergänzen. Ich verwende Chrome für Ubuntu. Wenn ich zu Quellen gehe und auf eine Datei klicke, wird eine Meldung angezeigt, dass ich die Originaldatei anzeigen kann und wie das geht.
Für die Angular-Dateien, mit denen ich heute gearbeitet habe, klicke ich
Ich kann dann die Liste durchsuchen, um die Datei anzuzeigen, die ich überprüfen möchte, und um zu überprüfen, wo das Problem liegen könnte.
quelle