
Minifiziertes JS debuggen: Source Maps und DevTools
Unlesbares Production-JS: Pretty-Print in Chrome DevTools, Source Maps im Build, lokales Unminify nur wenn Maps fehlen. Mangled Namen bleiben verloren.
Das Problem mit minimiertem Code in der Produktion
Ein Production-TypeError auf `main.js:1:245` ist nicht derselbe Job wie „in einen Online-Unminifier einfügen“. Minify entfernt Whitespace und Kommentare; Mangling benennt Funktionen in `a`, `b`, `c` um. Pretty-Print stellt die Form wieder her. Nur eine Source Map stellt Originalnamen wieder her. Fehlen Maps und Sie brauchen eine lokale Kopie, nutzen Sie den JavaScript-Unminifier — Bezeichner bleiben mangled.
Wenn Production-JavaScript unlesbar ist
Das sind Debugging-Probleme. Unminify ist eine Taktik — nicht der Default.

Formatieren ist keine Dekompilation. Diese Grenzen sind hart:

Limitations:
What works:
Wann Unminify, wann Pretty-Print
Fangen Sie nicht damit an, in ein Tool einzufügen. Diese Reihenfolge — die Seite JavaScript unminify ist Schritt 3, wenn Maps fehlen.

1Nach einer Source Map suchen
In DevTools → Sources Originaldateien neben dem Bundle prüfen, eine `.map`-Geschwisterdatei oder einen Kommentar `//# sourceMappingURL=`. Lädt eine Map, dort debuggen und aufhören.
2Pretty-Print im Browser oder Editor
Chrome Sources: das `{}`-Pretty-Print-Control formatiert die Datei an Ort und Stelle. VS Code: Format Document (eingebauter JS-Formatter oder Prettier) auf einer gespeicherten `.min.js`. Gleiche Grenze: Namen bleiben mangled.
3Nur lokal unminifizieren, wenn Sie eine Dateikopie brauchen
Keine Map, und Sie wollen eingerückten Source auf der Platte: in JavaScript unminify einfügen. Verarbeitung bleibt im Browser. Indent-Größe und -Zeichen sind die Format-Regler — kein Deobfuscator.
4Mit Literalen navigieren, nicht mit Namen
Nach eindeutigen Strings, URLs und Fehlermeldungen suchen. `if` / `return` / `.then(`-Muster folgen. Nicht darauf warten, dass `a` wieder ein echter Identifier wird.
Example:
Before (minified):
After (unminified):
Pretty-Print (oder eine Source Map) sollte kommen, bevor Sie ein Megabyte Bundle in einen Editor kopieren.

Minified code:
Unminified code (preview):
Source Maps: der beste Production-Debug-Pfad
Eine `.map`-Datei zeichnet auf, wie minifizierte Positionen auf Originalquellen zurückzeigen. DevTools kann dann echte Dateinamen, Original-Identifiers und Breakpoints in dem Code zeigen, den Sie geschrieben haben — das rekonstruiert kein Unminifier.

Webpack 5: `devtool` setzen (kein entferntes `sourceMap: true` mehr an TerserPlugin). Vite: `build.sourcemap: true` oder `'hidden'`. Standalone-Terser kann weiterhin ein Map-Objekt wie unten anhängen.
Terser
Webpack
Debuggen mit Browser-DevTools
Chrome (und andere Chromium-DevTools) können die Datei formatieren, die Sie bereits inspizieren. Das ist schneller als das Bundle zu exportieren, wenn Sie nur die abstürzende Zeile lesen wollen. VS Code Format Document auf einer gespeicherten `.min.js` ist das Editor-Äquivalent — weiterhin keine Source Map.

Sobald DevTools (oder ein Editor) die Datei formatiert hat, beziehen sich Zeilennummern auf die Pretty-Print-Ansicht, außer eine Map ist aktiv:
Tips:
Wenn Sie trotzdem eine lokale formatierte Kopie brauchen
Diese Optionen rücken JavaScript neu ein. Keine stellt mangled Namen wieder her. Der Job „minifiziertes JS aufklappen“ liegt auf JavaScript unminify. Die Schwesterseite JavaScript beautify ist die Formatter-URL; JavaScript minify ist die Umkehroperation.
FastMinify — Unminify JS
Browser-lokaler Unminifier: minifiziertes Snippet einfügen, eingerückte Ausgabe erhalten. Nur Indent-Größe und Spaces vs. Tabs. Nichts wird hochgeladen.
Pros:
Cons:
VS Code + Prettier
Datei speichern und Format Document ausführen. Das ist der übliche „Unminify in VS Code“-Weg: gleicher Lesbarkeitsgewinn wie Pretty-Print, weiterhin keine Original-Identifiers.
Pros:
Cons:
JS Beautifier
Open-Source-Formatter (js-beautify) als Library, CLI und diverse Web-UIs. Dieselbe Werkzeugklasse: Whitespace und Struktur, keine Originalsymbole.
Pros:
Cons:
Was als Nächstes zu tun ist
Debuggen Sie minifiziertes JavaScript in dieser Reihenfolge: Source Maps, wenn sie existieren; Pretty-Print in DevTools oder VS Code, wenn Sie nur die abstürzende Zeile lesen wollen; ein lokaler Unminifier nur, wenn Sie eine formatierte Kopie brauchen und Maps fehlen. Das Tool macht Mangling nicht rückgängig. Korrigieren Sie den Build, damit der nächste Vorfall Maps hat.
Verwandte Artikel

Kaputtes YAML, fehlendes `on` oder `jobs`, leere Steps: Workflow-Struktur vor dem Push prüfen — actionlint bleibt in der CI.

SDL-Syntaxfehler, Schema-Review und Formatierung vor dem Merge — ergänzt den bestehenden GraphQL-Beautifier.

Senken Sie Ihre OpenAI-/Anthropic-/Gemini-Rechnung: Input/Output schätzen, Batch und Caching in der Kalkulation aktivieren — geprüfte Tarife, 100 % lokal.