Laravel 5 Elixir - не создавать более одного выходного файла после нескольких вызовов микширования

У меня настроен файл Gulp:

elixir(function(mix) {
  mix.sass('app.scss').sass('admin.scss');
});

Который, на мой взгляд, должен взять оба файла scss и скомпилировать их в общедоступную папку css.

Однако он просто создает один файл app.css и не создает файл admin.css.

Мой терминал показывает:

[23:01:43] Running Sass: resources/assets/sass/app.scss
[23:01:44] Running Sass: resources/assets/sass/admin.scss
[23:01:44] Finished 'watch' after 315 ms
[23:01:44] gulp-notify: [Laravel Elixir] Sass Compiled!
[23:01:45] gulp-notify: [Laravel Elixir] Sass Compiled!

Так что же происходит с файлом admin.scss?


person Lovelock    schedule 13.08.2015    source источник
comment
О нет... У меня точно такая же проблема, и до сих пор нет правильного ответа. Я пробовал все :(   -  person Nacho    schedule 22.08.2015


Ответы (2)


Для этого нужно указать выходную папку для каждого файла (а также перезапустить gulp/gulp watch)

elixir(function(mix) {
  mix
    .sass('app.scss', './public/css/app.css')
    .sass('admin.scss', './public/css/admin.css');
});
person Lovelock    schedule 14.08.2015

Еще раз, люди в Larachat указали мне правильное направление, поэтому я решил разместить эту информацию здесь.

Оказывается, это довольно просто и задокументировано: http://laravel.com/docs/5.1/elixir#sass

Просто поместите файлы в массив вместо того, чтобы дважды вызывать sass, например:

mix.sass(['app.scss', 'admin.scss'], 'public/css')
person Nacho    schedule 24.08.2015
comment
Кажется, laravel убрал эту функцию в laravel 5.5. laravel.com/docs/5.5/mix#sass. - person Sam Henderson; 03.06.2018