Ich arbeite an einem WYSIWIG-Animationseditor zum Entwerfen von Slidern/Werbebannern, der viele Abhängigkeiten enthält, was auch viel zusätzlichen aufgeblähten Code bedeutet, der nie benutzt wird. Ich hoffe, einen Bericht über den Code zu erstellen, der mir hilft, die wichtigen Dinge zu identifizieren. Ich habe ein paar kühlen beginnt, die für alle Funktionen durch Javascript suchen und jede Funktion von Teilen zurück: https://regex101.com/r/sXrHLI/1Alle verwendeten Javascript-Funktionen melden
Dann einige PHP, die sie nach ihrer Größe sortiert werden: Sort preg_match_all by named group size
Der Gedanke ist, dass durch die Identifizierung großer Funktionen, die nicht verwendet werden, können wir entfernen. Mein nächster Schritt besteht darin, den Funktionsbaum zu identifizieren, welche Funktionen beim Laden von Dokumenten aufgerufen werden und welche dann bei Aktionen wie Klicks/Mouseovers usw. geladen und aufgerufen werden.
Während ich diese praktische Funktion haben, die mir alle Funktionen geladen im DOM sagt, ist es nicht genug:
var functionArray;
$(document).ready(function(){
var objs = [];
for (var obj in window){
if(window.hasOwnProperty(obj) && typeof window[obj] === 'function') objs.push(obj);
};
console.log(obj));
});
ich nach einer Lösung suchen, die ich Skript in PHP/Shell verwenden können, um Seitenladevorgang emulieren - hier versagt mir mein Wissen über Terminologie, suche ich nach "Call Stack", brauche ich eine Timeline, Interpreter, Framework, Engine oder einen Parser?
Ich brauche als nächstes einen Klick/Hover-Ereignis auf alle Elemente zu emulieren, oder alle Elemente, die wie dieser Regex etwas entsprechen:
(?|\$\(['"](\.\w*)["']|getElementsByClassName\('(\w*)'\))
(?|\$\(['"](\#\w*)["']|getElementsById\('(\w*)'\))
alle Ereignisse zu finden, die Funktionen auslösen, so kann ich eine Master-Liste machen Funktionen, die im endgültigen Code enthalten sein müssen.
Ist dies für eine Bibliothek, die Sie erstellen oder ist Ihr Schlüssel Anwendungsfall, nur um die Funktionen zu nutzen? Sie könnten immer etwas Profiling in so etwas wie den Dev-Tools von Chrome machen, um Stack-Traces und Timelines darüber zu erhalten, welcher Code im letzteren Anwendungsfall ausgeführt wird. Wenn der ehemalige, mehr Macht für Sie! Ich konnte das in der Entwicklungsgemeinschaft als vorteilhaft ansehen, nichts kommt mir sofort in den Sinn. Vladimirs Antwort würde Ihnen sicherlich helfen, Ihr Ziel zu erreichen. –
Es wird wahrscheinlich Open Source als eine Möglichkeit, Ihre gesamte Codebasis einschließlich Änderungen an den PHP, HTML, CSS und JS-Dateien zu minimieren, wenn ich ein wenig weiter bin. – Alan