C'è un modo per compilare file MENO in CSS (in modo che ogni browser non debba)?


20

Sto pensando di usare MENO, ma mi oppongo al pensiero di un browser con JavaScript disabilitato e il mio CSS non leggibile (e il sito sembra orribile).

Inoltre, offende l'ingegnere in me costringere ogni browser a "compilare" quel file Less in .css quando potremmo semplicemente "compilarlo" una volta ogni volta che lo modifichiamo.


1
@ Anonimo- Se dai un'occhiata a MENO, dovresti anche dare un'occhiata a SASS e COMPASS.
Sorcy,

Stilo e OOCSS sono anche prodotti simili.
Lèse majesté,

1
Ho pubblicato una risposta correlata che spiega come impostare automaticamente la compilation LESS sul server: webmasters.stackexchange.com/questions/38386/…
romaninsh,

3
Non sapevo che nessuno stesse compilando MENO nei browser!
Kenny Evitt,

Risposte:


17

Sì. È possibile utilizzare un'app che compila automaticamente i file LESS in CSS sul proprio computer di sviluppo durante la codifica. Quindi carica semplicemente il file CSS generato sul tuo server al termine dello sviluppo.



10

MENO viene fornito con un file binario (lessc) che consente di precompilare i file .less. Lo usi come tale:

 $ lessc styles.less > styles.css

Ma penso che la maggior parte delle persone usi semplicemente il comando lessc -wo lessc --watchper ricompilare automaticamente il foglio di stile CSS ogni volta che il file LESS viene aggiornato. Puoi anche fare in modo che lessc minimizzi il CSS, ad es lessc -w -x.

Modifica: solo per chiarire, lessc viene fornito con l'installazione sul lato server (ovvero quando si installa meno tramite il gestore di pacchetti node.js). Ma puoi scaricarlo manualmente da GitHub .

lessc si trova in /bin/lessc. Si tratta naturalmente di un binario * nix (dovrebbe funzionare anche per Mac), ma v'è un binario di Windows ( lessc.exe ) sulla base di errati privi di punti, che è un altro compilatore di Windows MENO.

Aggiornamento: utilizzare less-watchper compilare automaticamente.

In alternativa, molti sviluppatori oggigiorno usano runner come gruntgestire l'automazione della compilazione (compilazione, minimizzazione, test, ecc.). Utilizzando grunt-contrib-watch, grunt-contrib-lesse grunt-contrib-livereload, si può davvero semplificare il flusso di lavoro di sviluppo.

Ad esempio, se si utilizza yoper impilare il nuovo progetto Web, viene preconfigurato per guardare i file LESS / CSS / JS / HTML per le modifiche e ricompilare le parti necessarie del progetto quando necessario. Esegui semplicemente grunt servee sei pronto per scrivere il codice senza doversi preoccupare di compilare manualmente (LESS / SASS / CoffeeScript) / minimizzare / concatenare il codice o aggiornare manualmente il browser come un uomo delle caverne ...


1
Non sono sicuro di quale versione stai usando. Nell'ultima versione 1.3.0 non è disponibile la funzione --watch. Una richiesta pull per una funzione --watch è stata annullata 9 mesi fa. github.com/cloudhead/less.js/pull/246
Gerard Roche,

@BullfrogBlues: Siamo spiacenti, proveniva dal vecchio lessc basato su Ruby.
Lèse majesté,

Nota: "less-watch è stato rinominato fs-change. Utilizzare invece:. npm install -g fs-change"
Andrew Lott,

6

Esistono numerose opzioni per la compilazione di MENO in CSS sul server e quella scelta dipenderà probabilmente da ciò che si utilizza per il resto del sito.

  • Se usi node.js, lesscss originale farà il lavoro.
  • Se usi PHP, lessphp . Ha un'API leggermente spazzatura quando si tratta di passare variabili da PHP, ma fa il lavoro.
  • Se usi Ruby, SASS non è MENO, ma è così simile che quando sono passato dall'uso di SASS (progetto personale) a MENO (un progetto PHP al lavoro) non ho notato differenze diverse dall'estensione del file. Ha anche un'utile libreria di mixin - COMPASS . Non ho provato a usarli con MENO, ma mi aspetto che funzionino. (Apparentemente MENO era in origine Ruby, quindi probabilmente c'è un vecchio compilatore che fluttua anche da qualche parte).
  • Se usi ASP.Net, c'è .less . Non l'ho usato, quindi non so quanto funzioni bene.
  • Se si utilizza Java, lesscss4j termina la compilazione con l'ambiente di scripting Rhino integrato LESS e Java 6 originale.
  • Se usi Perl, c'è un modulo LESSp in CPAN.

2
V'è un compilatore di Ruby che viene fornito con la vecchia gemma MENO Rubino ma non è più aggiornato così un sacco di nuove caratteristiche non funzionerà su di esso. Quindi, se usi Ruby, ti consiglierei di usare solo il lessccompilatore binario basato sull'ultima versione di less.js.
Lèse majesté,

@ Lèsemajesté, andrei semplicemente con SASS, ma non volevo essere accusato di ignorare volontariamente la possibilità di compilare MENO in Ruby.
Peter Taylor,

1
Sì, penso che SASS sarebbe l'opzione migliore per Ruby poiché la gemma MENO è stata deprecata dal passaggio a JS.
Lèse majesté,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.