2012-03-03 14 views
15

Eventuali duplicati:
Javascript templating engines?Che cos'è un motore di template?

continuo a inciampare su javascript motori di template e non ho idea di che cosa è il loro scopo. Qualcuno potrebbe spiegarmi come se fossi in cinque? Lo sviluppatore front-end può fare uso di questi?

+2

I motori di template JS servono per fare ciò che avrebbe dovuto essere fatto sul lato server. Se li stai utilizzando, stai eseguendo node.js e * stanno * facendolo lato server, oppure stai sviluppando una grande applicazione Ajax che non hai mai intenzione di mostrare nei motori di ricerca. – cHao

+0

mootools, scriptaculous, yui, jquery, dojo –

+1

Questi non sono motori di template ... quelli sono framework. – cHao

risposta

18

I motori di template JavaScript sono spesso usati quando si scrivono JS-client spessi o come motori di template "normali" quando si usano js lato server come Node.js.

Invece di ingombrare il codice generando HTML utilizzando la concatenazione di stringhe, ecc., Si utilizza invece un modello e si interpola la variabile al loro interno.

Per esempio nel Nell'esempio qui sotto si passa in un array foo al motore di template che poi interpola (sostituisce il segnaposto $ {dati}) con la voce i dal foo array:

//pseudo code 
<table> 
<tr> 
    for each variable data in foo 
    <td>${data}</td> 
    end 
<tr> 
</table> 

In framework come backbone.js in genere si usa un modello per implementare la parte vista del pattern MVC.

Ci sono molti diversi tipi di motori di template in JS. Alcuni sono portali diretti di framework lato server come ERB, HAML ecc. Altri sono sviluppati appositamente per funzionare con JavaScript, ad esempio Pure

C'è un dibattito su quanta espressività il motore di template dovrebbe darti perché mettere la logica nei tuoi template è di solito una brutta cosa Per questo motivo alcuni motori di template sono progettati specificamente per non farti inserire la logica in essi Mustache

Problemi correlati