2010-10-04 7 views
7

Ho diversi file MENO che sono tutti importati in un unico file master (styles.less). Il mio problema al momento è: quando faccio una modifica in uno dei file figli devo salvare style.less per compilarlo in CSS.In LESS CSS posso ottenere MENO per guardare un mucchio di file ma compilare un file diverso quando cambiano?

C'è un modo in cui posso chiedere di meno per monitorare i file figlio ma solo compilare il genitore?

Cheers, Ad

+0

stai usando la versione rubino? con rotaie e più plug-in? – hellvinz

+0

Utilizzo della versione in rubino ma non su un sito in rubino ... se questo ha senso. –

risposta

7

ho trovato una soluzione per il mio problema, ma sarebbe bello per la maggior parte.

Dato che sono su un Mac ho istallato less.app (http://incident57.com/less/), utilizza less.js per compilare il meno per voi. A partire da un paio di giorni fa hanno aggiunto una nuova funzionalità:

NUOVA FUNZIONE: "all'indietro @import parsing." Se si ha un file, X, che importa un altro file, Y, e si apportano modifiche a Y, X verrà automaticamente ricompilato quando si salva Y (se è attiva la compilazione automatica). Questa funzione è automatica; non c'è niente da accendere o collegare. Vedrai "attivato da: X" nel risultato del compilatore quando accade.

Risulta che funziona davvero molto bene. Spero che questo aiuti qualcuno!

+0

più il plugin sembra gestire anche questo http://github.com/cloudhead/more/blob/master/lib/less/more.rb#L105 – hellvinz

+1

Questo non funziona come previsto, voglio che compili il file con '@ import' e non lo è. – ThomasReggi

4

Ho messo uno script bash chiamato lesswatch (non supporta "a ritroso @import parsing") che utilizza watchdog ad ascoltare per eventi di modifica di file e lessc per compilare ai CSS. Ho scritto uno short blog post su questo oggi.

2

C'è un fork di less.js che guarda modifiche apportate ai file e anche tutti i file inclusi tramite @import (come la risposta accettata sopra):

https://github.com/wvl/less.js

L'autore di less.js does not want l'opzione --watch della vecchia versione di rubino, quindi questa forcella potrebbe essere la soluzione migliore per ora. Attraverso node.js può essere eseguito su tutte le piattaforme.

Problemi correlati