2015-02-06 4 views
7

Ich bin ein größerer Fan von .sass Syntax über die .scss Syntax (weil es besser ist, lassen Sie den Krieg beginnen!), So ist das, was ich versuche zu verwenden. Beim Versuch, eine .sass Datei mit Elixir zu kompilieren, scheint es jedoch zu versuchen, scss Syntax zu kompilieren.Laravel Elixier Sass Compilation - .sass Dateien

elixir(function(mix) { 
    mix.sass('styles.sass'); 
}); 

Wenn styles.sass

body 
    background: black 

ist ich folgende Fehlermeldungen erhalten:

$ gulp 
[17:54:43] Using gulpfile ~/sites/skynet/gulpfile.js 
[17:54:43] Starting 'default'... 
[17:54:43] Starting 'sass'... 
[17:54:43] Finished 'default' after 185 ms 
[17:54:43] gulp-notify: [Laravel Elixir] Error: invalid top-level expression 
[17:54:43] Finished 'sass' after 198 ms 

Aber Ändern styles.sass (immer noch die .sass Erweiterung zu halten), zu

body { 
    background: black; 
} 

Ich bekomme eine erfolgreiche Kompilation. Elixir kompiliert nur scss Syntax oder fehlt mir eine Art von Konfiguration der Konfiguration? Hilfe sehr geschätzt!

+0

Nach einigen Experimenten habe ich festgestellt, dass nur Assets im 'sass'-Verzeichnis mit der' .scss'-Syntax kompiliert werden. Junge, das ist verwirrend! Man würde erwarten, dass ein 'sass'-Verzeichnis' .sass'-Dateien enthält und umgekehrt ... – Grant

Antwort

2

Dank @ mul14 habe ich tiefer in die verschiedenen Bibliotheken geschaut, auf die sich Schluck-Sass stützt. Das Problem bei github war eine Diskussion, die schließlich dazu führte, dass jemand die Einrückungssyntax erfolgreich unterstützte und sie in libsass einbrachte.

Nachdem ich in der Dokumentation von node-sass nachgesehen habe, habe ich eine option gefunden, um die eingerückte Syntax einzuschalten. Mit Blick auf Elixirs Zutaten-Argumente hat das für mich funktioniert!

elixir(function(mix) { 
    mix.sass('styles.sass', false, { indentedSyntax: true }); 
}); 

Also, am Ende war es ein Config-Problem. Tolle Neuigkeiten für Nutzer von eingerückten Syntax auf der ganzen Welt!

0

Das ist, weil Laravel Elixir gulp-sass verwenden. Und das Innere von Schluck-Sass es node-sass verwenden. Die Knoten-Sass-Verwendung libsass, die nicht unterstützt. SASS-Datei https://github.com/sass/libsass/issues/16

Sie können gulp-ruby-sass verwenden, um .sass zu css zu kompilieren. Oder verwenden Sie die laravel-elixir-ruby-sass.

+0

Das Problem auf github war schwer zu folgen ... Am Anfang wollen die Leute sass support, am Ende https: // github. com/sass/libsass/Probleme/16 # issuecomment-45261578? Ist es nicht zusammengewachsen? – Grant