2015-03-29 8 views
8

Ho questi due file nella cartella resources/assets/lessstyle.less e admin/style.less. Voglio compilare questo file differente percorsi come il seguente:L'elisir di Laravel compila più file in meno

style.less compilato per public/css/

e l'altro compilato per public/admin/styles/

questo è quello che ho fatto in gulpfile.js

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

ma questo compila solo un file. Qual è il problema e come posso risolvere questo problema?

risposta

0

Non ho ancora ricevuto la risposta. Ma ho provato alcune alternative, il pensiero sarà condiviso.

Stavo pensando che possiamo fare come qui di seguito

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

Ma secondo il documentation non possiamo effettuare chiamate multiple al sass o meno metodo. Quindi compila solo l'ultimo file in meno (che in questo caso admin/style.css).

Possiamo farlo come questo

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

ma questo sarà la compilazione sia nella stessa cartella.

Sperando di sapere, come possiamo farlo in diverse cartelle.

ho provato a copiare il secondo file in una cartella separata, ma che anche non funziona

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

Probabilmente questo è perché ogni richieste sono asincrona e quando la copia viene sempre chiamato, quel tempo lo style2. css non è ancora pronto.

+0

Sei sicuro che funzionerà? Per quanto ne so per sass non lo fa –

+0

Scusa Marcin, non è così. Sembra che possiamo utilizzare solo un'istanza di funzione less o sass secondo la documentazione. Riprendo la mia risposta. Ho pensato che lo fosse. Scusate! – Sameer

+0

per meno/sass è possibile importarne uno in meno/in un altro. ma funziona ovviamente per un singolo formato di file. – astroanu

1

Ho un progetto che compila due diversi file in meno in due file css diversi. L'unica differenza che vedo è che ho specificato il percorso di destinazione completo incluso il nome del file.

Quindi, per il vostro caso, sarà:

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'); 
Problemi correlati