Domanda

E 'possibile creare un'applicazione espresso (nodo) senza la necessità di un motore di template, come giada o di ejs. Ho un grande progetto ultimo anno all'università e ho intenzione di utilizzare il nodo, esprimere, socket.io, MongoDB e WebSockets. Non voglio gravare me stesso con dover imparare un linguaggio di templating troppo!

Per impostazione predefinita Express utilizza giada -t, supporto modello Add --template (giada | ejs). default = giada

È stato utile?

Soluzione

E 'possibile creare un'applicazione espresso (nodi), senza bisogno di un motore di template, come giada o ejs

Sì, lo è. Si può solo usare l'HTML. O semplicemente usare EJS. EJS è un superset di HTML.

Non voglio gravare me stesso con dover imparare un linguaggio di templating troppo!

Si può imparare un linguaggio di template in un giorno. E 'davvero essere di aiuto. Fallo e basta. Ne vale la pena.

Altri suggerimenti

Se si desidera solo per evitare imparare un'altra lingua modello, si potrebbe voler dare sottolineatura modelli di una prova. Sono solo javascript, che si sta andando ad essere in ogni caso l'apprendimento.

documentcloud.github.com/underscore/#template

È possibile configurarlo con:

app.register('.html', {
    compile: function(str, options){
        var compiled = require('underscore').template(str);
        return function(locals) {
            return compiled(locals);
        };
    }
});

Il modo più semplice per farlo sarebbe quello di sostituire l'app.get di default ( '/') ... linea con quanto segue. Poi mettere tutta la magia in index.html. Questo almeno il lavoro abbastanza bene per una pagina singola applicazione.

con il seguente

app.get('/', function(request, response) {
var readFile = "index.html";
var fileContents = fs.readFileSync(readFile);

response.send(fileContents.toString());
});

L'opzione migliore in questo momento è quello di utilizzare ejs (motore) e configurarlo per accettare e il rendering html:

app.set('views', path.join(*__dirname*, 'views'))
app.set('view engine', 'ejs'); // template engine
app.engine('html', require('ejs').renderFile); // turn engine to use html

Nota: Tutti i vostri punti di vista o modelli hanno l'estensione .html

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top