Ich habe eine JavaScript-Anwendung, die eine beträchtliche Anzahl von DOM-Elementen generiert. Es bedeutet, dass ich oft document.createElement("tagname")
in meinem Skript verwende.
Ich denke über die Verwendung dieser einfachen Funktion nach:
%Vor% Ich würde weiterhin meinen Code in JavaScript (oder vielleicht CoffeScript) schreiben und die vollständige document.createElement-Methode im Code zur besseren Lesbarkeit verwenden. Aber ich würde erwarten, dass beim Kompilieren oder Minimieren des Codes alle Instanzen von document.createElement durch die Funktion c
ersetzt werden.
Ich würde das gleiche für andere Methoden tun: document.getElementById, etc. Ich hoffe, dass ich meinen Code mit dieser Technik um 10 bis 20% verkürzen kann.
Gibt es Minifier oder Compiler, die das können? Und macht es überhaupt Sinn?
Ich glaube nicht, dass es dir so viel bringen wird. Die unkomprimierte js-Datei ist vielleicht ein wenig kleiner, aber die Komprimierung sollte sich mit einer solchen sich wiederholenden Zeichenkette befassen. Also erwarte ich, dass der Gewinn einer komprimierten Javascript-Datei (http gzip compression) eher gering ist.
Ich rufe nur die Funktion create(e)
anstelle von c(e)
auf. Auf diese Weise erhalten Sie das Beste aus beiden Welten, Lesbarkeit und Sie müssen nicht so viel tippen.
Die meisten Minifiers werden die DOM-Bibliotheksfunktionen nicht mit kürzeren Versionen neu definieren. Sie sehen dieses Muster jedoch in vielen Bibliotheken von Hand, um den Code zu reduzieren und / oder zu vereinfachen. Es ist also nichts falsch daran, dies selbst zu tun. Stellen Sie nur sicher, dass Sie es in einem Verschluss tun ....
Sehen Sie sich die Optionen für uglifier an und sehen Sie, was es für Sie tun kann, zum Beispiel:
%Vor%Es macht Sinn, aber ein Minifier, der das automatisch macht, muss über einige Dinge clever sein:
Sie tun das wahrscheinlich besser manuell.
Es hängt vollständig vom Minifier ab. Die meisten tun das nicht. Zum Beispiel der Code:
%Vor%Im erweiterten Modus von Google Closure Compiler:
%Vor%Auf YUI-Kompressor:
%Vor%Auf jscompress.com:
%Vor%Ich stelle mir vor, dass Compiler im Falle von seltsamen Nebeneffekten die Alias-DOM-Methoden nur widerwillig verwenden, und auch wiederholte Strings in der js werden sowieso von gzip gut komprimiert.
Tags und Links javascript minify