Pregunta

He estado jugando un poco con Node.js. Recientemente comencé a jugar con Express y he estado configurando una aplicación básica. Quería usar el manillar como motor de plantilla de vista, pero estoy presionando una pared: no pudo localizar la vista "index.html"

Tengo index.html en el mismo directorio que App.js y, por lo tanto, creo que el código a continuación no tendría problemas para localizar index.html ...

He buscado, pero parece que los ejemplos completos de cualquier cosa, aparte de Jade, son raros ... ¿alguien tiene experiencia con este combo?

¡Gracias por adelantado!

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);

Actualizar:

Estaba perdido:

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

En mi configuración ... parece que el registro de '.html' es bastante importante, ya que especifica la asociación de manillares con .html ...

Espero que esto ayude a alguien...

Porque soy un novato, no puedo responder a mi propia pregunta durante 7 horas, pero si alguien necesita el ejemplo de trabajo completo, puedo publicar mañana ...

¿Fue útil?

Solución

Por defecto, se verá en una carpeta llamada views Desde el directorio el script es. Si usa un DIR diferente, debe especificarlo.

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

Express también debe decirle más información sobre dónde está tratando de encontrar la opinión, que debería ayudarlo a saber exactamente dónde se ve.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top