如何使用Elixir编译目录中的所有SASS文件?

时间:2016-03-02 17:56:27

标签: sass laravel-elixir

我正在使用elixir来编译我的.bruceBanner { margin: 0 auto; width: 50%; } 文件。

假设这是我的文件夹结构:

scss

对于一个文件,我可以使用- app.scss - header.scss - footer.scss - home/ - home1.scss - home2.scss ,但如果我的目录中的所有文件都不需要逐个添加呢?

我试过了:

mix.sass('app.scss');

我唯一能得到的文件是mix.sass('*.scss'); mix.sass('**/*.scss'); mix.sass(['*.scss']); mix.sass(['**/*.scss']);

如何编译所有文件以获得类似:

public/css/app.css

2 个答案:

答案 0 :(得分:0)

您可以将文件globs作为数组提供,如下所示:

mix.sass(['./app.scss', './home.scss'])

或者您可以在elixir中只导入一个sass文件,并使用该文件中的sass import指令包含其余文件。

@import 'home.scss';

http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import

答案 1 :(得分:0)

我认为通配符解决方案根本不起作用。 您是否尝试使用@import "file2"导入文件依赖项,并且只处理这些文件?

假设: home1.scss

@import "../app"
@import "../header"
@import "../footer"
// home1 css

home2.scss

@import "./home1"
// home2 css

使用:

mix.sass('home1.scss');
mix.sass('home2.scss');

您只会生成具有依赖关系样式的home1.csshome2.css

通过这种方式,您可以改进代码并从依赖项中获得更好的控制。