JavaScript Minifier
-
Hallo,
ich möchte ein Script verkleinern und habe dazu diverse JS-Minifier/Compressor ausprobiert (z.B. http://compressorrater.thruhere.net/). Bin ganz zufrieden mit dem Ergebnis, jedoch werden keine langen globalen Variablennamen und Funktionsnamen verkürzt, Funktionsparameter dagegen schon. Das hat sicher seine Gründe, evtl. kann man dann im allg. Fall die Korrektheit des min. Codes nicht garantieren o.a..
In meinem konkreten Fall ist das aber möglich. Im Originalcode möchte ich die Namen aus Gründen der Lesbarkeit nicht weiter kürzen und jedesmal Suchen/Ersetzen vorm Minify ist irgendwie... :(. Einen "echten" JS-Packer will ich nicht nehmen, da die Grundstruktur des Codes direkt erhalten bleiben soll.
Wie geht Ihr vor um Zeit zu sparen, ohne den Originalcode (Lesbarkeit) lange anzupassen?
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Webzeugs verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Habe etwas gefunden was gut funktioniert: Google Closure Compiler
Mit eingeschalteter Advanced-Option werden auch Globals, Funktionsnamen etc. gekürzt.
-
globale Bezeichner sind nach aussen sichtbar, darum darf man sie nicht einfach aendern.
-
robot schrieb:
Wie geht Ihr vor um Zeit zu sparen, ohne den Originalcode (Lesbarkeit) lange anzupassen?
Genauso wie du: minimizer verwenden.
globale Variablen sind aber idR nicht notwendig. Das lässt sich umgehen indem du das alles in eine Funktion packst. Und auch direkt Code hat man nicht in der JS Datei stehen sondern alles in einer Funktion verpackt. Nur das Interface wird nach aussen exposed.
Das ist wichtig um keine Namenskollisionen zu bekommen.
-
Danke für Eure Tipps.
Mit den globalen Variablen mache ich hier mal eine Ausnahme, es handelt sich um Code für den JS1K Contest: http://js1k.com
-
Es gibt wieder einen? Cool! Ich hab nen Grossteil handoptimiert: http://js1k.com/2010-first/demo/716
-
wie ist das mit den 1024 byte und 16bit unicode zu verstehen.
Habe ich somit nur platz für 512 character?
-
judaslaw schrieb:
wie ist das mit den 1024 byte und 16bit unicode zu verstehen.
Habe ich somit nur platz für 512 character?Du beziehst Dich auf das 1K Limit beim JS1K?
Ja es sind maximal 1024 Byte erlaubt. Manche Zeichen belegen in Unicode (wohl UTF-8 hier) aber mehr als 1 Byte. Deswegen wird der Hinweis gegeben, dass in Byte und nicht Zeichen gemessen wird.
Da die unteren 7 Bit von UTF-8 deckungsgleich mit dem US-ASCII sind, brauchst Du Dir i.d.R. keine Gedanken drum machen, wenn Du nur einfache Zeichen daraus verwendest. Aber Achtung - dt. Umlaute z.B. ü belegen in UTF-8 schon wieder 2 Bytes!
Mehr zu UTF-8: http://de.wikipedia.org/wiki/UTF-8