Ich habe yuicompressor.jar auf meinem Testserver verwendet, um geänderte JavaScript-Dateien schnell zu minimieren. Jetzt, da ich die Website auf dem öffentlichen Server bereitgestellt habe, ist mir aufgefallen, dass die Richtlinien des Servers die Verwendung von exec () oder dessen Äquivalenten verbieten, also keine Java-Ausführung mehr für mich.
Gibt es einen anständigen On-The-Fly-JS-Kompressor, der in PHP implementiert ist? Das einzige, was ich so finden konnte, war Minify, aber es ist eher eine vollwertige Kompressionslösung mit Cache und allem. Ich möchte die Dateien getrennt halten und die minimierten Dateien meinen eigenen Namenskonventionen folgen, daher ist Minify für diesen Zweck etwas zu komplex.
Das Tool, wie yuicpressor, sollte entweder einen Dateinamen oder JavaScript als Eingabe verwenden und entweder in eine Datei schreiben oder das komprimierte JavaScript ausgeben.
EDIT: Um zu klären, suche ich nach etwas, das nicht als Standalone verwendet werden muss (d. h. es kann von einer Funktion aufgerufen werden, anstatt meine GET-Variablen zu schnüffeln). Wenn ich nur einen Kompressor wollte, wäre Minify natürlich eine gute Wahl.
EDIT2: In den fünf Jahren, seit ich diese Frage gestellt habe, hat sich viel verändert. Heute würde ich dringend empfehlen, den Front-End-Workflow vom Server-Code zu trennen. Es gibt viele gute Tools für die JS-Entwicklung und abgesehen von den einfachsten jQuery-Verbesserungen ist es besser, einen vollständigen Workflow mit automatisiertem Bündeln, Testen und Linting zu verwenden und nur die minimierten Bundles und nicht die Raw-Dateien bereitzustellen.
Ja, es gibt minify .
Das Einzige, worüber man sich im Hinblick auf die Komplexität Gedanken machen muss, ist das Einrichten einer Gruppe , und da ist wirklich nichts dabei. Bearbeiten Sie die groupsConfig.php-Datei, wenn Sie mehrere JS / CSS in einer <script>
oder <link>
-Anweisung:
Um die obige 'js-common' Gruppe einzuschließen, tun Sie dies:
%Vor%(Ich weiß, dass ich genau die gleiche Sache suchte, ohne zu wissen, wie ich direkt mit der jar-Datei umgehen kann - mit php - so bin ich hier gelandet, also teile ich mit, was ich gefunden habe)
Minify ist eine riesige Bibliothek mit vielen Funktionen. Der minimierende Teil ist jedoch eine sehr kleine Klasse: Ссылка
& amp; sehr sehr einfach zu bedienen:
%Vor%gleicher Prozess für js, wenn Sie mehr Funktionen brauchen, wählen Sie einfach aus der Bibliothek & amp; Lesen Sie die Quelle, um zu sehen, wie Sie direkt von Ihrer App aus anrufen können.
Ich habe die Frage nicht gut gelesen, da minify auf der Verwendung der jar-Dateien basiert, kann der op es sowieso nicht mit seiner Server-Konfiguration verwenden
Minify enthält auch andere Methoden zur Verkleinerung als yui, zum Beispiel:
Versuchen Sie Lissa :
Lissa ist ein generisches Dienstprogramm zum Laden von CSS und JavaScript. Lissa ist eine Erweiterung des YUI PHP Loaders, die eine der aktuellen Einschränkungen des Loaders lösen soll. Combo laden. YUI PHP Loader wird mit einem Combo Loader ausgeliefert, der HTTP-Anforderungen reduzieren und die Leistung erhöhen kann, indem alle YUI-JavaScript- und / oder CSS-Anforderungen als eine einzige Anfrage pro Ressourcentyp ausgegeben werden. Selbst wenn Sie 8 YUI-Komponenten benötigen, die letztendlich auf 13 Dateien herunterkochen, würden Sie immer noch nur 2 HTTP-Anfragen stellen; eine für das CSS und eine für das JavaScript. Das ist toll, aber was ist mit benutzerdefinierten Nicht-YUI-Ressourcen. YUI PHP Loader lädt sie, aber sie lädt sie als separate Includes und damit verpassen sie die Vorteile des Combo-Service und die Anzahl der HTTP-Anfragen für die Seite steigt. Lissa umgeht diese Einschränkung, indem es den YUI PHP Loader verwendet, um das Laden und Sortieren von YUI- und / oder benutzerdefinierten Ressourcenabhängigkeiten und Paaren, die mit Minify funktionieren, zu bearbeiten.
Tags und Links javascript php yui-compressor