2015-03-29 10 views
8

Mam dwa pliki w folderze resources/assets/lessstyle.less i admin/style.less. Chcę kompilacji tych plików do zaczepienia ścieżki jak:Eliksir Laravel skompiluje wiele mniej plików

style.less skompilowany do public/css/

a drugi skompilowany do public/admin/styles/

to, co zrobiłem w gulpfile.js

elixir(function(mix) { 
    mix.less('style.less', 'public/css/'); 
    mix.less('admin/style.less', 'public/admin/styles/'); 
}); 

, ale kompiluje się tylko jeden plik. Na czym polega problem i jak mogę rozwiązać ten problem?

Odpowiedz

0

Nie mam jeszcze na to odpowiedzi. Ale wypróbowałem kilka alternatyw, myśl się podzielą.

Myślałam możemy zrobić jak poniżej

elixir(function(mix) { 
    mix.less('style.less', 'public/css/') 
     .less('admin/style.less', 'public/admin/styles/'); 
}); 

Ale według documentation nie możemy zrobić wielokrotne wezwania do Sass lub mniej metody. Więc kompiluje tylko najnowszy less plik (w tym przypadku admin/style.css).

Możemy zrobić jak ten

elixir(function(mix) { 
    mix.less(['style.less', 'admin/style2.less'], 'public/css/'); 
}); 

ale będzie to skompilować zarówno w tym samym folderze.

Mamy nadzieję, że będziemy wiedzieć, jak możemy to zrobić w różnych folderach.

Próbowałem kopiowanie drugi plik do osobnego folderu, ale to też nie działa

elixir(function(mix) { 
    mix.less(['style.less', 'admin/style2.less'], 'public/css/') 
     .copy('public/css/style2.css', 'public/admin/style.css'); 
}); 

Prawdopodobnie to dlatego każda wnioski są asynchroniczne i gdy kopia jest nazywana zaczyna, tym czasie style2. css nie jest jeszcze gotowy.

+0

Czy na pewno to będzie działać? O ile wiem, dla sass to nie jest –

+0

Niestety Marcin, nie ma. Wygląda na to, że możemy użyć tylko jednej instancji funkcji less lub sass, zgodnie z dokumentacją. Odzyskuję moją odpowiedź. Zakładałem, że tak będzie. Przepraszam! – Sameer

+0

za mniej/sass można zaimportować jeden mniej/sass do innego. ale oczywiście działa w jednym formacie pliku. – astroanu

1

Mam projekt, który kompiluje dwa różne mniej plików do dwóch różnych plików CSS. Jedyną różnicą, jaką widzę, jest to, że określam pełną ścieżkę docelową, w tym nazwę pliku.

więc w Twoim przypadku, to będzie:

elixir(function(mix) { 
    mix.less('style.less', 'public/css/style.css') 
     .less('admin/style.less', 'public/admin/styles/style.css'); 
}); 
0
mix.less('resources/assets/less/app.scss', 'public/css'). 
    less('resources/assets/less/admin/style.less', 'public/admin/styles');