Ich bin auf der Suche nach einem Werkzeug oder eine Art und Weise zu minify (ähnlich Compress meines Code und diese Frage auf Stack) den gesamten Code in meinen .xml
, .css
, .html
und .js
Dateien über Ubuntu Terminal. Irgendwann werde ich das Skript zerschlagen, aber im Moment möchte ich nur etwas zum Testen finden. Gibt es ein Tool, mit dem ich all diese Dateiformate über das Terminal komprimieren kann?
command-line
software-recommendation
DᴀʀᴛʜVᴀᴅᴇʀ
quelle
quelle
tar -czvf compressed.tar.gz *.xml *.css *.html *.php
?Antworten:
Dies ist nicht die beste Option, aber wahrscheinlich die einfachste. Der YUI-Kompressor galt lange Zeit als der beste Kompressor für Javascript und CSS und bot 20-40% Verbesserungen gegenüber anderen Minimierern.
Es wurde seitdem von neueren Projekten wie Uglify.JS (was Grunt wahrscheinlich vorschlagen wird) abgelöst, aber es ist immer noch ziemlich einfach, in Ubuntu einzusteigen.
Das ist es. Jetzt können Sie ausführen
yui-compressor myfile.js
und es wird seine Magie tun, nur nicht so gut oder so bequem wie ein ordnungsgemäß installierter Node / Grunt / Uglify + YUI-Stack.quelle
more-css
wichtig, dass Sie herausfinden, dass die Verwendung des NPM-Pakets zur Minimierung Ihres CSS aufdringlicher ist als die Verwendung von yui-compressor. Ist es nicht. Es ist nur ein weiterer Befehl, der das Gleiche besser macht.Sie können js einfach mit node und uglify-js über die Befehlszeile minimieren :
Installiere uglify-js mit
npm install uglify-js -g
starte es
uglifyjs app-test.js > app-test.min.js
CSS würde ich vorschlagen , clean-CSS (wahrscheinlich der stabilste css minifier auf NPM)
Beispiel Nutzung:
In Bezug auf HTML ist die Minimierung normalerweise nicht die Zeit wert, die Sie in die Einrichtung investieren, aber ich habe HTML-Minimierer ausprobiert und es ist ein fantastisches Tool.
Was auch immer Sie tun, stellen Sie sicher, dass Sie das, was Sie servieren, gzipen.
quelle
uglify
Kann direkt installiert werden mitsudo apt-get install node-uglify
uglify
mitapt
Ihnen auch installieren müssennode-legacy
, so laufensudo apt install node-uglify node-legacy
cleancss
CLI-Tool jetzt imclean-css-cli
Paket enthalten ist.Verwenden Sie Minify - im Gegensatz zu den anderen Vorschlägen werden mit diesem Tool wesentlich mehr Dateitypen minimiert:
quelle
Es gibt keinen Grund, PHP-Dateien zu minimieren (es sei denn, Sie haben nur sehr begrenzten Speicherplatz und möchten jedes Bit davon verwenden).
Wenn Sie ein Ziel hinzufügen könnten (Was möchten Sie erreichen und warum?), Könnte Ihnen jemand einen besseren Weg zeigen.
JS- und CSS-Dateien werden zur Laufzeit minimiert und in den meisten Webprojekten zwischengespeichert. Es gibt minify ( https://github.com/mrclay/minify ), eine PHP "Bibliothek", die genau das kann. (Kann auch mit PHP vom Terminal ausgeführt werden)
Beachten Sie jedoch, dass eine große Javascript-Datei nicht schneller geladen werden muss als fünf kleine Dateien. Wenn Sie einen Grund und eine Lösung für diese Aussage benötigen, werfen Sie einen Blick auf http://headjs.com/
Möge die Quelle mit dir sein ...
quelle
Ich würde die Verwendung von Grunt.js empfehlen . Es handelt sich um ein Automatisierungstool, für das Minifier als Plugins zur Verfügung stehen und das über Node.js auf Ihrem Terminal ausgeführt werden kann. Es sollte nicht notwendig sein, PHP zu minimieren, da der Code auf der Serverseite ausgeführt wird und nur seine HTML-Ausgabe an den Client gesendet wird.
Verfügbare Plugins finden Sie hier
quelle
Ich habe gute Ergebnisse mit Closure Compiler erzielt .
Es wurde von Google entwickelt und in Java geschrieben. Es ist für Debian-basierte Systeme verpackt
closure-compiler
und kann problemlos auf Ubuntu-Systemen installiert werden. Da keine grafische Benutzeroberfläche verwendet wird, ist das leichtgewichtigeredefault-jre-headless
Paket erforderlich .Es ist langsamer als der YUI-Kompressor, aber die resultierende Dateigröße ist (geringfügig) kleiner. Außerdem werden nützliche Warnmeldungen ausgegeben, ähnlich wie bei Compilern für andere Programmiersprachen.
Dokumentation: Erste Schritte
Verwendung:
quelle
Eine andere Option ist die Verwendung des
npx
Befehls von Node.js.npx
Führt einen Befehl eines Node.js-Pakets aus, ohne es explizit zu installieren.quelle