Nodejs + Express + ручки - не удалось найти просмотр «index.html»

StackOverflow https://stackoverflow.com/questions/8814437

Вопрос

Я немного играю с node.js. Я недавно начал играть с Express и настраивал базовое приложение. Я хотел использовать руль в качестве двигателя шаблона своего представления, но я попадаю в стену - не удалось найти представление "index.html"

У меня есть index.html в том же каталоге, что и app.js, и поэтому я думаю, что приведенный ниже код не будет иметь проблем с поиском индекса. Html ...

Я искал, но, похоже, что всеобъемлющие примеры чего -либо, кроме Джейд, редки ... у кого -нибудь есть опыт работы с этой комбинацией?

Заранее спасибо!

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

Обновлять:

Мне не хватало:

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

В моей конфигурации ... кажется, что реестр '.html' довольно важен, поскольку он указывает ассоциацию руля с .html ...

Я надеюсь, что это помогает кому-то...

Поскольку я такой нуб, я не могу ответить на свой собственный вопрос в течение 7 часов, но если кому -то нужен полный рабочий пример, я могу опубликовать завтра ...

Это было полезно?

Решение

По умолчанию он будет смотреть в папку под названием views Из каталога сценарий. Если вы используете другой DIR, вы должны указать его.

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

Express также должен сообщить вам больше информации о том, где он пытается найти представление, которое должно помочь вам точно знать, где он выглядит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top