Was dieses Tool wirklich prüft
Dieses Tool parst dein JavaScript mit acorn und baut einen Referenzgraphen: Jede auf oberster Ebene deklarierte Funktion (oder const x = function(){} / const x = () => {} auf oberster Ebene) wird zu einem Knoten, und jede Stelle, an der ihr Name als Bezeichner auftaucht, wird zu einer Kante. Anschließend wird berechnet, welche dieser Funktionen von einer Menge von Wurzeln aus erreichbar sind — Code, der beim Laden der Datei bedingungslos ausgeführt wird: Anweisungen direkt auf oberster Ebene, der Rumpf eines sofort aufgerufenen Funktionsausdrucks (IIFE), alles, was module.exports / exports.x / window.x / globalThis.x zugewiesen wird, sowie alle Namen von Einstiegspunkten, die du selbst eingibst. Alles, was von einer Wurzel aus transitiv erreichbar ist, bleibt erhalten; der Rest wird gemeldet.
Lies das, bevor du einem Befund vertraust
Eine Funktion, die dieses Tool „vermutlich ungenutzt“ nennt, kann trotzdem tatsächlich verwendet werden. Statische Analyse kann nicht hindurchsehen bei:
- Dynamischem Dispatch —
obj[berechneterName](),tabelle[schlüssel]()— der Eigenschaftsname ist erst zur Laufzeit bekannt. evalundnew Function(...)— aus einem String konstruierter Code ist für einen AST-Durchlauf unsichtbar.- Reflexion —
fn.call(...),fn.apply(...)auf eine zur Laufzeit dynamisch gewählte Referenz, oderObject.keys(obj).forEach(k => obj[k]()).
Jeder Befund wird als „keine statische Referenz gefunden“ formuliert, nie als Tatsache. Behandle das als Hinweis, der eine manuelle Prüfung verdient, nicht als Urteil — besonders bevor du etwas löschst.
So wird es benutzt
Füge den Inhalt einer .js-Datei in den Editor ein oder lade ihn. Wenn du den Namen der echten Einstiegsfunktion deines Bundles bereits kennst (die, die dein HTML aufruft, oder die ein Framework für dich aufruft), trage ihn im Feld für Einstiegspunkte ein — dann wird er, und alles, was er transitiv berührt, als erreichbar verankert, selbst wenn ihn nichts in der Datei namentlich referenziert.
Die Zusammenfassung zeigt die Gesamtzahl der Top-Level-Funktionen, wie viele davon erreichbar sind und wie viele keine statische Referenz haben. Jeder Befund nennt den Funktionsnamen und seine Zeile. Eine separate, eingeklappte Liste zeigt die vollständige erreichbare Menge mit einem kurzen Grund für jede — ein Einstiegspunkt, ein Export, ein Aufruf innerhalb eines IIFE, oder eine Referenz, die innerhalb einer anderen erreichbaren Funktion gefunden wurde.
Nichts von dem, was du einfügst, verlässt deinen Browser.
Tiny Online Tools







