Django-compressor: JS-Dateien werden standardmäßig minimiert, CSS-Dateien jedoch nicht

Erstellt am 8. Nov. 2017  ·  10Kommentare  ·  Quelle: django-compressor/django-compressor

Hallo, ich verwende Django (1.8.2) und django-compressor (2.2). Das komprimierte js funktioniert gut, die CSS-Datei ist jedoch nicht komprimiert.

Hier ist ein Teil meiner Vorlage:

{% load staticfiles %}
{% load compress %}
{% compress css %}
<link rel="stylesheet" href="{% static 'landing/style.css' %}" type="text/css"></head>
{% endcompress %}
{% compress js %}
<script src="{% static 'landing/js/jquery.min.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
<script src="{% static 'landing/js/ads.js' %}"></script>
{% endcompress %}

Es erzeugt zwar eine CSS-Datei, ist aber mit der Originaldatei genau gleich.

feature

Hilfreichster Kommentar

Ich verstehe. Diese Zeile funktioniert:

COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']

Danke schön.

Alle 10 Kommentare

Bitte poste deine settings.py.

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'compressor',
)

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

STATICFILES_FINDERS = (
  'django.contrib.staticfiles.finders.FileSystemFinder',
  'django.contrib.staticfiles.finders.AppDirectoriesFinder',
  'compressor.finders.CompressorFinder',
)

COMPRESS_ENABLED = True
COMPRESS_OUTPUT_DIR = 'compress'
STATIC_ROOT = '/home/service/growth/static_file/static'

css wird standardmäßig nicht komprimiert, siehe die Standardeinstellung hier: https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_CSS_FILTERS. Ich gebe zu, es ist seltsam, dass dies standardmäßig für js und nicht für css gemacht wird. Aber wir werden das wahrscheinlich nicht ändern, es sei denn, wir machen eine Veröffentlichung mit anderen wichtigen Änderungen.

Mit CSS kenne ich mich leider nicht aus. Soll ich die Variable COMPRESS_CSS_FILTERS , damit sie für CSS funktioniert? Welche Option sollte ich verwenden?

Ich verstehe. Diese Zeile funktioniert:

COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']

Danke schön.

Ich lasse dies offen, damit wir dies besprechen können, falls wir eine solche Veröffentlichung vornehmen.

Unter diesen Umständen entferne ich bitte rcssmin aus setup.py:install_requires und vermerke das aktuelle Missverständnis an einer offensichtlichen Stelle in der Dokumentation, wie unter 'Usage'.

@dilyanpalauzov du kannst gerne einen Pull Request dafür erstellen, ich weiß nicht wann ich die Zeit finde das selbst zu machen.

Bearbeiten: ...eigentlich würde ich dies eher als Fehler betrachten und die standardmäßige Installation von rcssmin erleichtert dem Benutzer die Umgehung, daher würde ich dies als Voraussetzung belassen. die Dokumentation würde jedoch natürlich davon profitieren, dies deutlicher zu machen.

Zu Ihrer Information. Habe gerade django-compressor installiert und bin hier gelandet, weil ich erwartet hatte, dass CSS so minimiert wird, wie es mein JS war.

Ich verstehe. Diese Zeile funktioniert:

COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter']

Danke schön.

Aber wie bekomme ich die min.js oder min.css für die komprimierten Dateien?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen