2013-08-30 16 views
20

Używam dotless 1.3.1.0 kompilując mniej plików. To działało w porządku z bootstrap 2.x, ale po włączeniu do bootstrap 3.0.0 (pobrane źródło stąd: http://getbootstrap.com/getting-started/), nagle dostać ten błąd:Bezcelowe niepowodzenie kompilacji; w Bootstrap 3 mniej źródło

Expected ')' but found ' ' on line 47 in file 'mixins.less': [46]: // Sizing shortcuts [47]: .size(@width; @height) { ------------^ [48]: width: @width;

wydaje się, że posiadanie; jako separator między parametrami jest mniej ważny. Oryginalne źródło w mixins.less wygląda następująco:

... 
// Sizing shortcuts 
.size(@width; @height) { 
    width: @width; 
    height: @height; 
} 
... 

Czy muszę używać zaktualizowanego mniej kompilatora? A może bootstrap zwalniał mniej źródeł?

AKTUALIZACJA 1: Widzę, że istnieje żądanie pobrania dla dotless, naprawiając problem;

https://github.com/dotless/dotless/pulls „Poprawki do; nieobsługiwane w mixin parametru wymienia # 319 # 320”

pójdę za pomocą plików css dopóki ta została ustalona bez kropki.

Odpowiedz

6

Jeden z moich kolegów, który wykorzystuje bez kropki miał kilka poprawek dla Bootstrap 3 numery połączone. Apparently Bootstrap3 będzie teraz skompilować z najnowszego kodu :)

https://github.com/dotless/dotless/commits/master

spodziewam uaktualniony pakiet Nuget będzie dostępna wkrótce (na podstawie this tweet)

+0

wygląda dobrze, ale nie działa z plikiem wykonywalnym dotless.Compiler. Wciąż dusi się podczas oglądania zmian na LESS na żywo. :( –

+1

kredą to aż do głupoty ... link "pobierz bibliotekę DLL" na stronie wciska 1.3.1, nie 1.4.1. Aby to uzyskać musisz pobrać ostatni zip sprawdzony, a następnie skompiluj Visual Studio, Viola, Coś jeszcze przydatnego, to nasz kolejny krok: http://tedgustaf.com/blog/2010/11/setup-dotless-in-aspnet-project/ - ilustrujemy sposób na umieszczenie konstruktora w proces budowania w twoim projekcie. –

8

Jeśli sprawdzeniu bootstrap na getting started page, przekonasz się, że stwierdzenie, że:

LESS compilation

If you download the original files, you need to compile Bootstrap's LESS files into usable CSS. To do that, Bootstrap only officially supports Recess, Twitter's CSS hinter built on top of less.js.

Choć nie używając bez kropki, ja po podobną drogą, że nie używając lessc, a potem okazało się, że za pomocą wgłębienie rozwiązany mój kwestia. Być może skorzystanie z wnęki byłoby również dla Ciebie rozwiązaniem?

Jako przykład, mam plik o nazwie tmpfl.less o następującej treści:

@import "mixins.less"; 
@import "variables.less"; 


.wrapper { 
    .make-row(); 
} 
.content-main { 
    .make-lg-column(8); 
} 
.content-secondary { 
    .make-lg-column(3); 
    .make-lg-column-offset(1); 
} 

Jeśli biegnę lessc na nim, pojawia się następujący wynik:

lessc tmpfl.less 
NameError: .size is undefined in mixins.less:47:0 
46 // Sizing shortcuts 
47 .size(@width; @height) { 
48 width: @width; 

Teraz I z powodzeniem wykorzystać wnękę następująco:

recess --compile tmpfl.less > tmpfl.css 

Aktualizacja:

Aby wykorzystać przerwę w środowisku .Net, w szczególności w Visual Studio, można wykonać następujące czynności: these instructions, aby uzyskać szczegółowe informacje na temat instalacji. Instrukcje te zawierają przegląd, ale być może pomijają pewne szczegóły dotyczące instalowania Node.js. Microsoft ma około brief words o tym i ich link do a GitHub project, które mogą być pomocne w zależności od wersji programu Visual Studio.

Jeśli nie zejdziesz z trasy Node.js-in-Visual Studio, to naprawdę głównym celem jest zainstalowanie Node.js gdzieś, a następnie docelowo npm, menedżer pakietów dla Node.js, dzięki czemu można zainstalować wgłębienie. Można to osiągnąć w systemie Windows, przechodząc do wersji the Node.js download i instalując wersję systemu Windows. Instalowanie npm jest podświetlone w this stackoverflow discussion. Po zainstalowaniu wystarczy uruchomić npm, aby zainstalować proces Recess w następujący sposób:

npm install recess -g 

Zostało to również omówione w pierwszym łączu tej aktualizacji.

+0

Dziękuję za poświęcenie czasu na odpowiedź. Zrobię to i poszukam architektury .net recess pracującej równie sprawnie jak less.net. Czy znasz jakieś, możesz polecić? :) –

+0

Używam Node.js w Linuksie, ale zaktualizowałem swoją odpowiedź, podając szczegóły dotyczące uruchamiania jej w środowisku .Net. Jeśli to Ci pomoże, pamiętaj o oznaczeniu go jako odpowiedzi. Próbuję wzmocnić mojego przedstawiciela. na stackoverflow. –

+0

Dziękuję @edl, działa dla mnie! Węzeł + wgłębienie skały! –

0

Połączyłem httphandler, który skompiluje mniej przy użyciu lessjs.

Jest to raczej dowód koncepcji niż kod jakości produkcji, jednak może być przydatny dla niektórych osób jako punkt wyjścia.

można znaleźć źródło tutaj:

https://bitbucket.org/martinbooth/clearscriptless

W przypadku gdy ktoś jest zainteresowany stara się zrobić to za pomocą jurajski, można znaleźć moją próbę tutaj:

https://bitbucket.org/martinbooth/jurassicless

I nie polecam jurajski do tego, ponieważ

  • wymagało to kilku poprawek do biblioteki, które obecnie nie są zintegrowane z głównym projektem Moje zmiany znajdują się teraz w głównym katalogu jurajskim, więc nie jest to już problem (chociaż najnowsze wersje nie uwzględniają ich obecnie)
  • jest bardzo powolny, stąd powód próbowałem clearscript