2013-02-19 13 views
5

W moim projekcie internetowym podzieliłem mój CSS na osobne pliki LESS ze względów konserwacyjnych. Mam plik o nazwie config.less działający jako plik główny, który importuje inne mniej plików przy użyciu dyrektyw @import.LESS @import & Web Essentials 2012

Problem z tej konfiguracji wydaje się, że dostaję dużo „Undeclared zmiennej” & „Undeclared wstawek” podczas edycji moje LESS plików, na przykład podczas dodawania zmiennej właściwość o nazwie @textColor w base.less, że jest zadeklarowane w innym mniej pliku o nazwie variables.less. Czy istnieje sposób na uświadomienie istotom internetowym, że zmienne i mixiny są zdefiniowane w zewnętrznych mniej plikach?

Inną rzeczą, która wydaje się być potknięciem się Essentials Web jest, gdy używam funkcji zagnieżdżonych zapytań mediów mniejszej:

.some-selector { 
    background: #000; 
    @media only screen and (max-width: 800px) { 
     background: #fff; 
    } 
} 

zagnieżdżona deklaracja @media dostaje czerwoną podkreślenia, a przy aktywowaniu mówi "Niespodziewany blok" @ "w regule stylu". Najechanie na zagnieżdżoną właściwość tła pokazuje "Sprawdzanie poprawności:" kolor "nie jest prawidłowym znacznikiem HTML.

Odpowiedz

2

Nie mogę udzielić odpowiedzi dotyczącej numeru @media w Web Essentials, ale mogę udzielić porady na temat zagadnień dotyczących zmiennych i mieszania.

Zasadniczo zmienić plik config.less mieć variables.less i wszelkie inne pliki mixin być @import-once, wtedy też dodać @import-once 'variables.less do każdego pliku, który używa zmiennych z nim (tak samo dla wszystkich wstawianej plików).

To, co robi, importuje plik, jeśli pracujesz nad nim (np. base.less), ale kiedy wszystkie pliki są kompilowane przez config.less, zaimportują tylko variables.less raz, a nie ponownie dla każdego pliku, który również odwołuje się do variables.less.

+1

Z jakiegoś powodu import-once nie działa dla mnie. Mam plik główny style.less, który zawiera tylko import. Stamtąd importuję - raz plik mixin.less, który deklaruje klasę .clearfix, a klasa jest zawarta tak, jak powinna być ... Dobra. Teraz w innym pliku również importuję - raz plik mixin.less, aby uzyskać intellisense, a następnie zaimportować - raz ten plik do głównego stylu .less. Sądzę, że powinien on zawierać tylko klasę .clearfix, ale niestety zawiera ją dwa razy? jakieś pomysły? – MattyP

+1

Dzięki @ScottS! Właśnie tego szukałem. Powinienem bardziej zawracać sobie głowę czytaniem dokumentacji LESS :) Zgodnie z dokumentacją '@ import-once' będzie domyślnym zachowaniem' @ import' począwszy od wersji 1.4.0. – Unless

+0

@MattyP: Ten styl.less brzmi jak odpowiednik mojego pliku 'config.less'. W takim przypadku wydaje się, że mamy dość podobne ustawienia. Więc skompilowany plik 'style.less' zawiera dwukrotnie klasę' .clearfix'? – Unless

Powiązane problemy