templates node.js express handlebars.js

templates - Manillares NodeJS+Express+: no se pudo localizar la vista “index.html”



node.js handlebars.js (1)

He estado jugando un poco con Node.js. Recientemente empecé a jugar con Express y he estado configurando una aplicación básica. Quería usar Handlebars como mi motor de plantillas de vista, pero estoy golpeando una pared - no pude localizar la vista "index.html"

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

He buscado por todas partes, 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...

Como soy un SO noob, no puedo responder mi propia pregunta durante 7 horas, pero si alguien necesita el ejemplo completo, puedo publicar mañana ...


De forma predeterminada, se buscará en una carpeta llamada views desde el directorio donde se encuentra el script. Si usas un directorio diferente debes especificarlo.

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

Express también debe proporcionarle más información sobre dónde intenta encontrar la vista, lo que le ayudará a saber exactamente dónde está mirando.