Heim >Web-Frontend >js-Tutorial >Djangos js/css-Komprimierungskomponente Django Compressor

Djangos js/css-Komprimierungskomponente Django Compressor

高洛峰
高洛峰Original
2016-11-24 09:31:551657Durchsuche

Um die Ladegeschwindigkeit der Website zu beschleunigen, müssen wir normalerweise mehr JS und CSS komprimieren. Wenn alle diese JS- und CSS-Komprimierungsaufgaben manuell erledigt werden, ist dies zeitaufwändig und mühsam.

Django Compressor kann eine automatische Komprimierung von js/css realisieren. Django Compressor leistet in puncto Benutzerfreundlichkeit sehr gute Arbeit. Laut Dokumentation kann es nach einfachen Einstellungen normal funktionieren. Es wird dringend empfohlen, dass jeder das Dokument vollständig liest (das Dokument ist sehr kurz).

Wenn Sie es verwenden, müssen Sie nur CSS/JS in das Komprimierungs-Tag einfügen, und Django Compressor kann es automatisch verarbeiten. Im Debug-Modus führt Django Compressor nichts aus. Im Nicht-Debug-Modus komprimiert Django Compressor automatisch js/css und gibt die komprimierten Probleme in das STATIC_ROOT-Verzeichnis von Django aus. Stellen Sie daher bitte sicher, dass das Verzeichnis STATIC_ROOT korrekt eingestellt ist.

{% Load compress %}
{% compress [ [block_name]] %}
{% endcompress %}

{% compress css %}
endcompress %}

Coffeescript, weniger Unterstützung

Während der Entwicklungsphase können Coffeescript und weniger direkt mit js verarbeitet werden. Bei der offiziellen Veröffentlichung müssen sie in js und css vorkompiliert werden Der Ladegeschwindigkeit zuliebe. Django Compressor bietet die Einstellung COMPRESS_PRECOMPILERS, um eine Vorverarbeitung basierend auf dem Typ durchzuführen.

COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}') ,
('text/x-sass', 'sass {infile} {outfile}'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)

Um Coffeescript und weniger normal während der Entwicklungsphase verwenden zu können, müssen die entsprechenden js-Dateien während der Entwicklungsphase eingeführt und in der Nicht-Entwicklungsumgebung automatisch geschlossen werden. Leider bietet Django Compressor keine entsprechenden Einstellungen. Zu diesem Zweck habe ich ein tagget_setting geschrieben, das die Django-Einstellungen in der Vorlage abruft. Dieses Tag ist in einem anderen Projekt von mir enthalten, django-helper.

{% get_setting "COMPRESS_ENABLED" "" "COMPRESS_ENABLED" %}
{% if not COMPRESS_ENABLED %}

{% endif %}


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn