7 Stimmen

Gibt es Bibliotheken für die Verpackung und Minifying mehrere CSS-und JS-Dateien in eine Datei jeder?

Laut O'Reilly's Hochleistungs-Websites (Seite 15-16) ist es sehr empfehlenswert, so wenig HTTP-Anfragen wie möglich zu stellen, um eine hohe Leistung zu erzielen. Gibt es also eine Bibliothek, mit der mehrere JS-Dateien in einer Datei zusammengefasst werden können, und eine Bibliothek, die dies auch für CSS tut?

Für JavaScript habe ich mindestens 4 verschiedene Bibliotheken, die im Moment geladen werden, jQuery 1.6.x, ein paar jQuery-Plugins und eine Anwendungs-JavaScript-Datei für die Anwendungslogik. Ich habe auch 2 CSS-Dateien, Bootstrap und die CSS-Datei meiner Anwendung.

Gibt es Instrumente, die dies erleichtern? Es wäre schön, ein Tool zu haben, das ich von Python oder von Bash (ich bin auf Linux) aus verwenden könnte, um die verschiedenen CSS-Stylesheets zu "kompilieren" und zu minimieren.

(Wenn dies als Django-Addon möglich ist, umso besser [dh manage.py packify static/bootstrap.min.css static/application.css ... ])

7voto

JavierIEH Punkte 723

Was Sie suchen, ist eine CSS- und Javascript-Pipeline. Seine immer ein Standard für Frameworks, diese Art von Tools zur Verfügung stellen. Zum Beispiel, Rails 3.1 hat seine eigene Asset-Pipeline eingebaut.

Es fasst nicht nur Ihre CSS- und Javascripts in einem einzigen Paket zusammen, sondern komprimiert sie auch, um die Leistung noch weiter zu steigern.

Glücklicherweise hat django auch ein eigenes Plugin dafür

https://github.com/cyberdelia/django-pipeline

0 Stimmen

Gibt es eine Möglichkeit, die LESS- und CSS-Kompilierung in das Bild einzubinden?

1 Stimmen

Ja, es scheint, dass Sie das können. Es unterstützt LESS und SASS kompilieren. Siehe readthedocs.org/docs/django-pipeline/de/1.1.18/compilers.html

1 Stimmen

Webassets hat einen weniger umfangreichen Compiler integriert, siehe stackoverflow.com/questions/7730346/

3voto

markus Punkte 39397

Natürlich gibt es ein solches Werkzeug! Es heißt webassets . Und es lässt sich gut mit Django integrieren también.

webassets Merkmale

  • Minifizierung (Komprimierung) von CSS und JS
  • LESS zu CSS
  • SASS zu CSS
  • Kompass

usw.

2voto

GolezTrol Punkte 111587

Es gibt verschiedene Methoden. Ein tolles Plugin wurde bereits von JavierIEH erwähnt. Sie können es aber auch leicht selbst mit PHP oder einer anderen Serversprache erstellen.

Aber Sie werden noch mehr gewinnen, wenn Sie JQuery und seine Plugins von Google Bibliotheken API . Es bietet die Minified-Version vieler Bibliotheken.

Der Vorteil ist, dass es Ihren Server nicht belastet. Browser stellen nur eine begrenzte Anzahl von gleichzeitigen Verbindungen zu demselben Server her, so dass Ihre Benutzer JQuery und Ihr eigenes Javascript gleichzeitig laden können.

Und da viele Websites die Bibliotheken von Google verwenden, können diese Dateien bereits im Browser-Cache Ihres Besuchers vorhanden sein, was das Laden noch weiter beschleunigt.

0voto

rodneyrehm Punkte 13149

Wenn Sie mit einem PHP-Tool leben können, sollten Sie sich CSS-JS-Booster die ein paar mehr Tricks als die einfache Minifizierung enthält. Zum Beispiel das Einbetten von kleinen Bildern, auf die in Ihrem CSS verwiesen wird, in das CSS (data-uri/mhtml), usw.

0voto

hkasera Punkte 2030

Prüfen Sie dieses Python-Skript. Es ist nicht auf einem Framework aufgebaut und kann leicht integriert werden.

http://github.com/hkasera/minify

Es minimiert sowohl js als auch css Dateien. Es speichert ausführliche Protokolldateien, die auch die Fehler und Warnungen veranschaulichen. Ich hoffe, es kann helfen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X