Zorganizowałem szablony w moim projekcie Django w taki sposób, że każda strona w witrynie zawiera "wspólny" plik LESS, a każda strona może również określać inny plik LESS, który zawiera style specyficzne dla strony.Jak używać kompresora django z wieloma plikami LESS, które importują wspólne pliki?
Problem polega na tym, że potrzebuję specyficznego dla strony pliku LESS, aby móc odnieść się do zmiennych w "zwykłym" pliku LESS. Najprostszym sposobem na zrobienie tego, pomyślałem, było po prostu przeniesienie deklaracji zmiennych do osobnego pliku, który może mieć zarówno pliki LESS, jak i @import
.
Jednak aplikacje Django używają oddzielnych katalogów do przechowywania swoich plików statycznych. W końcu, system plików wygląda mniej więcej tak:
- common - static - css - definitions.less - common.less - other - static - css - other.less
Zarówno common.less
i other.less
trzeba importować definitions.less
. W przypadku common.less
jest to tak proste, jak:
@import "definitions.less";
Oto jak słabiej pliki są faktycznie zawarte na stronie, na wszelki wypadek, który pomaga:
{% load compress %}
{% load static %}
{% compress css %}
<link href="{% static "css/common.less" %}"
rel="stylesheet" type="text/less">
{% endcompress %}
Jaki byłby najprostszy sposób zapewnić, że wspólne definicje zmiennych są dostępne dla obu plików LESS? Chcę uniknąć łącząc Im mniej plików na kilka powodów:
- Usuwa korzyści luźne sprzęgła (zdolność do dezaktywacji aplikację bez żadnych skutków ubocznych dla reszty miejscu).
- Dodatkowe dane pobierane dla pojedynczej strony są większe, ponieważ muszą zostać pobrane wszystkie style wszystkich aplikacji.
Czy znalazłeś odpowiedź na to pytanie? Napotkalam ten sam problem. –
Jakieś słowo na temat rozwiązania tego problemu? –