Was ist das MAP-Dateiformat?
Eine .map-Datei ist ein Nur-Text-JSON-Dokument, das minifizierten oder kompilierten Output - eine gebündelte .js-Datei oder ein kompiliertes CSS-Stylesheet - mit dem ursprünglichen menschenlesbaren Quellcode verknüpft. Build-Tools wie webpack, Vite, esbuild und der TypeScript-Compiler (tsc) erzeugen .map-Dateien automatisch zusammen mit ihrer Ausgabe.
Das Format wurde um 2011 als Source Map Revision 3 standardisiert und wird nun universell in jeder größeren JavaScript- und CSS-Build-Pipeline unterstützt. Eine Source-Map liegt neben der Datei, die sie beschreibt - app.js erzeugt app.js.map, styles.css erzeugt styles.css.map - und die minifizierte Datei verweist darauf über einen abschließenden Kommentar: //# sourceMappingURL=app.js.map (oder /*# sourceMappingURL=styles.css.map */ für CSS).
Das Herzstück jeder Source-Map ist das Feld mappings: eine kompakte Base64-VLQ-kodierte Zeichenkette, die eine Segment-für-Segment-Übersetzung von jeder Zeichenposition in der Ausgabe zurück zur entsprechenden Zeile und Spalte im Original-Quelltext aufzeichnet. Weitere Felder enthalten die ursprünglichen Dateipfade (sources), optional den vollständigen Quelltext (sourcesContent) und Symbolnamen (names).
Browser-Entwicklungstools - Chrome DevTools, Firefox Developer Tools und Safari Web Inspector - verwenden .map-Dateien transparent. Entwickler können Haltepunkte in TypeScript oder SCSS setzen und durch Original-Code schrittweise vorgehen, obwohl der Browser minifizierten Output ausführt. Die .map-Datei wird nur abgerufen, wenn DevTools geöffnet ist; sie verursacht beim normalen Surfen keinen Overhead.
Sicherheit
RISIKO: LOWEine Source-Map ist passives JSON und führt keinen Code aus, daher ist das Öffnen harmlos. Das eigentliche Problem ist ein Datenschutz-/Sicherheitsproblem für Entwickler: Source-Maps, die in die Produktion ausgeliefert werden, können Ihren ursprünglichen, nicht minifizierten Quellcode - und manchmal Kommentare, Dateipfade oder sourcesContent - für jeden offenlegen, der DevTools öffnet. Viele Teams entfernen oder blockieren .map-Dateien auf öffentlichen Servern bewusst aus diesem Grund. Wenn Sie unerwartete .map-Dateien auf einer Live-Website finden, kann das ein Informationsoffenlegungs-Problem sein, das behoben werden sollte.
Formatdetails
kurz gefasst- MapInfo-GIS-Daten (.map + .tab) - Binärer Geometriespeicher für eine MapInfo-Tabelle; wird über die Begleit-.tab in QGIS oder MapInfo Pro geöffnet, nicht eigenständig.
- Spiellevel-Karte - Nur-Text-Level-Geometrie aus id-Tech-/Quake-/Source-/Radiant-Editoren, für das Spielen in ein Binärlevel (z.B. .bsp) kompiliert.
- Linker-/Debug-Map - Nur-Text-Auflistung von Symbol-Adressen und Speicherlayout, das von einem Compiler/Linker zur Fehlersuche bei Abstürzen ausgegeben wird.
Programme zum Öffnen von MAP-Dateien
Technische Details
technische Spezifikation| Formattyp | Nur-Text-JSON (UTF-8); keine binären Magicbytes |
| Spezifikation | Source Map Revision 3 (v3) |
| MIME-Typ | application/json |
| Mappings-Kodierung | Base64-VLQ (Variable-Length Quantity) - kodiert Zeilen- und Spalten-Offsets für jedes Ausgabe-Segment |
| Pflicht-JSON-Felder | version (muss gleich 3 sein), sources (Array ursprünglicher Dateipfade), mappings (VLQ-kodierte Zeichenkette) |
| Optionale JSON-Felder | sourcesContent (eingebetteter Original-Text), names (Symbolliste), sourceRoot (Pfadpräfix für alle Quellen) |
| Namenskonvention | Ausgabe-Dateiname mit .map angehängt: app.js → app.js.map, styles.css → styles.css.map |
| Quellverknüpfungskommentar (JS) | //# sourceMappingURL=filename.js.map - an die letzte Zeile der minifizierten Datei angehängt |
| Quellverknüpfungskommentar (CSS) | /*# sourceMappingURL=filename.css.map */ - an das kompilierte Stylesheet angehängt |
| Typische Generatoren | webpack, Vite, esbuild, TypeScript-Compiler (tsc), Dart Sass, Rollup, Parcel |
| Verbraucht von | Browser-DevTools: Chrome DevTools, Firefox Developer Tools, Safari Web Inspector, Edge DevTools |
| Mapping-Genauigkeit | Auf Spaltenebene: jedes VLQ-Segment bildet eine einzelne Ausgabespalte auf Quellzeile und -spalte ab |
| Dateigröße | Typischerweise 2-10-mal so groß wie die minifizierte Ausgabe; wächst weiter, wenn sourcesContent eingebettet ist |
| Alternative HTTP-Lieferung | X-SourceMap-Antwort-Header (veraltet; Inline-Kommentar ist die bevorzugte Methode) |
| DevTools-Aktivierung | Wird nur abgerufen, wenn Browser-DevTools geöffnet ist; beim normalen Seitenladen nicht angefordert |
| Veröffentlicht | Source Map format v3 (~2011); ubiquitous with modern JS/CSS build tooling |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | sourcemaps.info |
MAP-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu MAP-Dateien.