2016-01-01 47 views
5

Używam codekitu do kompilowania moich plików Bootstrap LESS i ciągle otrzymuję ten błąd analizy w zapytaniach o media, których nie otrzymałem, gdy był wcześniej plik CSS.less Błąd analizy CSS: Definicje multimediów wymagają instrukcji blokowych

"ParseError: Definicje multimedialne wymagają stwierdzenia blokowe po żadnej funkcji w /assets/less/homepage.less na linii 568, kolumna 2: 567 @media (maksymalna szerokość: @iphone_breakpoint ) {568}"

Oto pełna linia kodu w pytaniu:

/* Custom, iPhone Retina */ 
@media (max-width: @iphone_breakpoint) { 
} 

Może ktoś wyjaśnić, co się dzieje?

+0

Ho ware jesteś importowanie ten mniejszy plik? Używasz (mniej) lub (inline) – LOTUSMS

+0

Używam mniej pliku jako pliku głównego do importowania wielu mniejszych plików do kompilacji. Wszystko będzie działać, dopóki nie trafi do zapytań o media na ostatniej stronie, która jest stroną główną.less – kingj2002

+0

Zapoznaj się z tym http://stackoverflow.com/questions/34438723/grunt-contrib-less-fails-with-angular-material- zapytania o media – LOTUSMS

Odpowiedz

5

Po prostu wystąpił ten błąd, stwierdzono, że przyczyną problemu był prosty błąd składniowy. Opublikuję to, co sprawdziło się dla mnie.

Błąd:

>> SyntaxError: media definitions require block statements after any 
>> features in _assets/less/styles.less on line 144, column 2: 
>> 
>> 143 
>> 144 div { 
>> 145   .links { 

Wskazówka błąd pokazuje linię jako wokół poniżej zobaczymy

W kodzie poniżej ja zapomniałem . (okres), kiedy przy użyciu wbudowanego .hidden()mixin przez .

ten wyprowadza błąd:

SyntaxError: media definitions require block statements after any features in dir/bar/foo.less on line 144, column 2:

Nieco mylące, ponieważ błąd jest dziecko w tym div na linii 149.

div {    // Line 144 
    .links { 
     .hidden(); 
    } 
    .other-links { 
     // Missing `.` for using the mixin 
     hidden(); // The real error is here on Line 149 
    } 
} 

Podsumowanie:

Upewnij się, że nie ma błędów składniowych u dzieci, gdzie wyświetlany błąd zauważyć błąd.

  1. Sprawdź, czy brakuje kropek przed mixinami. hidden() -> .hidden()
  2. Sprawdź dla wszystkich innych błędów ?

znalazł inny błąd składni przyczyną tego błędu?
daj nam znać, komentarz poniżej

+1

W moim przypadku był to bezpański ")", który nie pojawił się jako błąd składniowy w zapytaniu @media. – MartijnK