2015-02-06 94 views
7

我是语法的语法的更大粉丝(因为它更好,让战争开始!),所以这就是我正在尝试使用的。然而,当试图使用Elixir编译.sass文件时,它似乎试图使用scss语法进行编译。Laravel Elixir Sass编译 - .sass文件

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

styles.sass

body 
    background: black 

我收到以下错误:

$ 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 

但改变styles.sass(仍保持.sass扩展),以

body { 
    background: black; 
} 

我得到了一个成功的编译。 Elixir只编译scss语法,或者我缺少某种配置设置?非常感谢!

+0

经过一番实验,我发现它只使用'.scss'语法编译'sass'目录中的资源。令人困惑的男孩!人们会期望一个'sass'目录包含'.sass'文件,反之亦然... – Grant 2015-02-06 10:42:00

回答

2

感谢@ mul14,我深入了解了gulp-sass依赖的不同库。 github上的问题是一个讨论,最终导致某人成功支持缩进语法并将其合并到libsass中。

查看node-sass的文档后,我发现option用于打开缩进语法。看看Elixir的成分参数,这对我有用!

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

因此,最终它是一个配置问题。全球缩进语法用户的好消息!

0

这是因为Laravel Elixir使用gulp-sass。它的内部使用node-sass。节点sass使用libsass,它不支持.sass文件https://github.com/sass/libsass/issues/16

您可以使用gulp-ruby-sass将.sass编译为css。或使用laravel-elixir-ruby-sass

+0

github上的这个问题很难遵循......在开始的时候,人们希望获得sass支持,最后https:// github。 COM /上海社会科学院/ libsass /问题/ 16#issuecomment-45261578?它没有合并? – Grant 2015-02-06 12:51:11