Domanda

Ho giocato un po 'con Node.js. Recentemente ho iniziato a giocare con Express e sono stato la creazione di un app di base. Volevo usare Handlebars come il mio motore di template vista, ma sto colpendo un muro - non è riuscito a localizzare vista "index.html"

ho index.html nella stessa directory app.js ed e così penserei il codice qui sotto avrei alcun problema di posizionamento index.html ...

Ho cercato in giro, ma sembrerebbe che gli esempi completi di qualsiasi cosa a parte giada sono rari ... Qualcuno ha esperienza con questo combo?

Grazie in anticipo!

var express = require('express')
  , app = express.createServer();

app.configure(function(){
    app.set('view engine', 'handlebars');
    app.set("view options", { layout: false }) 
});



app.get('/', function(req, res){

    var data = {
        name: "Ford Prefect",
        home: "a small planet somewhere in the vicinity of Betelgeuse"
    }

    res.render('index.html', data);
});

app.listen(3000);

Aggiornamento:

mi mancava:

app.set('views', __dirname + '/');
app.register('.html', require('handlebars'));

nel mio config ... sembrerebbe che il registro dei '.html' è molto importante in quanto specifica l'associazione manubri con .html ...

Spero che questo aiuta qualcuno ...

Perché io sono un noob SO, non posso rispondere alla mia domanda per 7 ore, ma se qualcuno ha bisogno l'esempio di lavoro completo, posso pubblicare domani ...

È stato utile?

Soluzione

By default, it will look in a folder called views from the directory the script is. If you use a different dir you must specify it.

app.set('views', __dirname + '/views');

Express should also tell you more information about where it's trying to find the view, that should help you know exactly where it's looking.

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