2013-08-30 8 views
20

Ich benutze dotless 1.3.1.0 compiling less-Dateien. Das funktionierte mit Bootstrap-2.x in Ordnung, aber nach dem Einschalten 3.0.0 (die Quelle von hier heruntergeladen http://getbootstrap.com/getting-started/) Bootstrap, als ich plötzlich diese Fehlermeldung erhalten:Dotless kann nicht kompiliert werden; in Bootstrap 3 weniger Quelle

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

Es scheint, dass eine mit; als Trennzeichen zwischen Parametern gilt nicht weniger. Die ursprüngliche Quelle im mixins.less sieht wie folgt aus:

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

Muss ich eine aktualisierte weniger Compiler benutzen? Oder hat bootstrap buggy less source veröffentlicht?

UPDATE 1: Ich kann sehen, dass eine Pull-Anfrage für dotless existiert, das Problem mit zu beheben;

https://github.com/dotless/dotless/pulls "Fixes für, nicht in mixin Parameter unterstützt listet # 319 # 320"

Ich werde die CSS-Dateien gehen mit, bis diese in dotless behoben wurde.

Antwort

6

Einer meiner Kollegen, die dotless verwendet fusionierte einige Korrekturen für Bootstrap 3 Ausgaben hatte. Apparently Bootstrap3 wird nun mit dem neuesten Code kompiliert :)

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

Ich erwarte, dass ein aktualisierter NuGet Paket in Kürze verfügbar sein wird (basierend auf this tweet)

+0

sieht gut aus, aber es scheint nicht mit dotless.Compiler ausführbar zu arbeiten. Es ist immer noch erstickt, wenn Änderungen an den LESS-Dateien zu sehen sind. :( –

+1

dieses bis zu Dummheit Kreide ... die „laden Sie die DLL“ -Link auf der Seite nach unten drücken 1.3.1, nicht 1.4.1. Um das zu bekommen, dass Sie die letzte Reißverschluss eingecheckt greifen haben, und baut dann in Visual Studio Viola Etwas anderes nützlich das ist unser nächster Schritt: http://tedgustaf.com/blog/2010/11/setup-dotless-in-aspnet-project/ - die Art und Weise, welche die Erbauer zu setzen in.. der Build-Prozess in Ihrem Projekt. –

8

Wenn Sie Bootstrap der Besuche getting started page, werden Sie feststellen, dass sie angeben:

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.

Obwohl nicht dotless verwenden, folgte ich einen ähnlichen Weg, den Sie lessc hat verwenden, und dann festgestellt, dass die Verwendung Aussparung gelöst mein Problem. Vielleicht wäre eine Pause auch eine Option für Sie?

Als Beispiel, ich habe eine Datei tmpfl.less mit folgendem Inhalt genannt:

@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); 
} 

Wenn ich laufe lessc drauf, erhalte ich folgendes Ergebnis:

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

Jetzt, ich benutze Aussparung erfolgreich wie folgt:

recess --compile tmpfl.less > tmpfl.css 

Update:

Um Recess in einer .NET-Umgebung, speziell in Visual Studio, zu verwenden, kann man these instructions für Details zur Installation folgen. Diese Anweisungen bieten einen Überblick, lassen aber möglicherweise einige Details zum Installieren von Node.js aus. Microsoft hat einige brief words darüber und sie verlinken zu a GitHub project, die abhängig von Ihrer Version von Visual Studio hilfreich sein können.

Wenn Sie nicht die Node.js-in-Visual Studio-Route gehen, dann wirklich das Hauptziel ist, Node.js irgendwo installiert haben, und dann schließlich npm, der Paket-Manager für Node.js so Sie kann die Aussparung installieren. Dies kann unter Windows erreicht werden, indem Sie auf the Node.js download gehen und die Windows-Version installieren. Die Installation von npm wird in this stackoverflow discussion hervorgehoben. Einmal installiert, müssen Sie nur npm laufen Recess zu installieren, wie folgt:

npm install recess -g 

, die auch in der ersten Verbindung dieses Updates diskutiert wird.

+0

Vielen Dank für Ihre Zeit zu beantworten nehmen. Ich werde es ausprobieren und nach einem .net-Pausen-Framework suchen, das so reibungslos funktioniert wie less.net. Kennst du zufällig jemanden, den du empfehlen kannst? :) –

+0

Ich benutze Node.js innerhalb von Linux, aber ich habe meine Antwort mit Details aktualisiert, um herauszufinden, dass es in einer .Net-Umgebung läuft. Wenn dies Ihnen hilft, achten Sie bitte darauf, es als Antwort zu markieren. Ich versuche, meinen Ruf zu verbessern. auf Stackoverflow. –

+0

Danke @edl, es funktioniert für mich! Knoten + Vertiefung rockt! –

0

Ich habe einen httphandler zusammengestellt, der weniger mit lessjs kompiliert.

Es ist eher ein Proof of Concept als Qualitätscode Produktion, aber es kann für manche Menschen als Ausgangspunkt nützlich sein.

Sie die Quelle finden Sie hier:

https://bitbucket.org/martinbooth/jurassicless

I:

https://bitbucket.org/martinbooth/clearscriptless

Falls sich jemand bei dem Versuch interessiert ist, dies mit jura zu tun, werden Sie mein Versuch, hier finden nicht Jurassic empfehlen für das, weil

  • Es wurden ein paar Fehlerkorrekturen in der Bibliothek benötigt, die zur Zeit nicht im Hauptprojekt integriert sind. Meine Änderungen befinden sich jetzt im Master-Zweig von Jurassic, so dass dies kein Problem mehr ist (obwohl die neueste Version sie derzeit nicht enthält)
  • es sehr langsam ist, daher der Grund, warum ich versucht clearscript
1

Nach Stunden verbringen diese auf immer mich zu arbeiten, ich gefunden dieser Punktlose ist zu dieser Zeit ziemlich nutzlos.

aber hier ist, wo können Sie weniger und Bootstrap 3 Weniger in Ihrem mvc ASP.Net Projekt impliment

http://www.tomdupont.net/2013/10/bootstrap-3-less-bundling-and-aspnet-mvc.html?showComment=1386250367416#c1439130135847828203

Dieser Kerl hat gerade einen internets in meinem Buch, und wenn Sie seinen Stack Austausch aufzuspüren kann Konto für mich lass es mich wissen.

Verwandte Themen