2011-11-18 2 views
10

Mi sono imbattuto in LESS website e questa è la descrizione di che stanno facendo"CSS sul lato server?

MENO estende CSS con comportamento dinamico, come variabili, mixins, le operazioni e le funzioni. MENO viene eseguito sia sul lato client (IE 6+ , Webkit, Firefox) e server-side, con Node.js.

che cosa significa "e server-side" con Node.js? so che è possibile scrivere codice lato server con javascript utilizzando Node js, ma qual è il significato di avere CSS sul lato server e come è utile?

+0

Immagino che sul server è analizza i fogli di stile e le applica con in linea tag di stile. Anche se questa è solo la migliore ipotesi. –

risposta

9

Che cosa significa "e server-side" con Node.js? So che è possibile scrivere codice lato server con javascript utilizzando Node.js, ma qual è il significato di avere CSS sul lato server e come è utile?

Non è la CSS che è (opzionalmente) fatto sul lato server, è il meno elaborazione, che si traduce in normali CSS che viene inviato al client.

Quindi, se avete un file .less sul vostro server web con questo:

@color: #4D926F; 

#header { 
    color: @color; 
} 
h2 { 
    color: @color; 
} 

... e hai il tuo web server configurato per elaborare .less file tramite il compilatore MENO esecuzione sotto Node.js (ad esempio, , proprio come .php file vengono elaborati attraverso l'interprete PHP, .py file tramite l'interprete Python, ecc), allora l'uscita del compilatore LESS (puro CSS) ottiene generato e inviato al client:

#header { 
    color: #4D926F; 
} 
h2 { 
    color: #4D926F; 
} 

Questo è (un pochino) più carico sul server, ma significa che non devi preoccuparti di correre il compilatore MENO sul browser (ad esempio, è possibile supportare i clienti non-JavaScript).

+0

Cosa intendi con "Non è il CSS che è (facoltativamente) fatto lato server"? –

+0

Il CSS viene applicato dal browser, quindi è gestito dal lato client. Quello che sta succedendo sul lato server sta trasformando la sintassi LESS (che è un netto miglioramento dei CSS) nella sintassi CSS. –

+0

Il modo @ T.J.Crowder sta descrivendo questo suona come i file CSS sono sempre trattati ogni volta che viene caricata una pagina.È un po 'inefficiente: dovrebbero essere elaborati una volta al momento dell'implementazione. – mlissner

2

Sono abbastanza sicuro che significhi che è possibile eseguire il codice LESS con Node.js durante la fase di compilazione dell'applicazione al fine di pre-espandere il CSS.

In altre parole, ti permette di farlo sul lato server prima della distribuzione (o, suppongo, su richiesta, se si voleva) al fine di migliorare le prestazioni sul lato client.

0

Significa esattamente quello che dice. Si posizionano i file .less sul server e il server si occuperà dell'analisi, della compilazione e della minimizzazione.

1

Il compilatore LESS è implementato in JavaScript e il compilatore può essere eseguito sia sul client e il server (utilizzando NodeJS)

1

mia scommessa: sarebbe compilare il lato server css, e spingerlo al cliente