2014-05-13 22 views
5

Ich habe einen inkonsistenten Fehler bei der Verwendung variabler Argumente.Sass Mixin Variable Argumente Fehler

Es gibt ein paar Mixins im Projekt, die variable Argumente akzeptieren. Einer davon ist;

@mixin box-shadow($shadows...) { 
    -moz-box-shadow: $shadows; 
    -webkit-box-shadow: $shadows; 
    box-shadow: $shadows; 
} 

Wie Sie sehen, akzeptiert es variable Argumente. Das funktioniert auf allen außer einigen Maschinen an meinem Arbeitsplatz.

Auf den Maschinen, wo es nicht funktioniert, erhalten wir den folgenden Fehler;

ungültiger CSS nach "... x-shadow ($ args "ein erwarteter ")", war" ...) {"

Wir sind alle die gleiche Version von SASS laufen , Sass 3.3.7 (Maptastic Maple)

Gibt es etwas anderes als die Version von SASS, die den Fehler verursachen könnte? Wir verwenden alle genau die gleiche Codebase, während wir versuchen, dieses Problem zu lösen.

+0

Ich sehe auch Sie das Beispiel der docs nahm. http://sass-lang.com/documentation/file.SSASS_REFERENCE.html#variable_arguments Ich denke, Sie müssen ein bisschen mehr von der aktuellen Implementierung veröffentlichen, um auf ein Problem hinweisen zu können –

+0

Können Sie diesen Fehler auf minimalem Mixin reproduzieren mit dem Namen, der garantiert einzigartig ist? – JAre

+0

@NicoO Das ist das Mixin, das wir verwenden. – L4DD13

Antwort

0

Sollte sein:

@mixin box-shadow($shadows) { 
    -moz-box-shadow: $shadows; 
    -webkit-box-shadow: $shadows; 
    box-shadow: $shadows; 
} 

sieht Ihr Auslassungs Probleme zu verursachen.

Zusätzlich sollten Sie die Verwendung einer SASS Mixin-Bibliothek in Erwägung ziehen, um viele dieser gängigen Vendor-Prefix-Jobs für Sie auszuführen. Ich benutze Bourbon - http://bourbon.io/

Es gibt alle Arten von anderen Vorteilen auch da, wie Funktionen Pixel rem usw.

UPDATE

ich einfach realisiert zu konvertieren ist versucht, variable Argumente zu verwenden, . In diesem Fall sieht die Syntax aus den Dokumenten korrekt aus. Stellen Sie sicher, Sie verwenden SASS 3.2+

http://chriseppstein.github.io/blog/2012/08/23/sass-3-2-is-released/

Ich bin mit SASS 3.3.6 und ich habe nicht diesen Fehler Ihren Code.

Ich würde empfehlen, eine Gemfile in Ihrem Projekt zu verwenden und daraus zu bauen. Dies würde sicherstellen, dass Sie wirklich die richtigen Edelsteine ​​verwenden und alle auf dem gleichen Setup sind.

Mein Gemfile, die mit Ihrem Code funktioniert:

# Install these gems by running 'bundle install'. 
# Install bundle from these instructions: http://bundler.io/ 

source 'https://rubygems.org' 

# Using Compass Alpha release due to compatability with SASS 3.3+ 
gem 'sass', '3.3.6' 
gem 'compass', '~> 1.0.0.alpha.19' 
gem 'bourbon', '4.0.1' 
gem 'neat', '1.6.0'