NodeJS + Express +把手 – 无法find视图“index.html”

我一直在玩Node.js。 我最近开始玩快车,并已经build立了一个基本的应用程序。 我想使用Handlebars作为我的视图模板引擎,但我打了一堵墙 – 未能find视图“index.html”

我有index.php与app.js和相同的目录,所以我会认为下面的代码将没有问题定位index.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')); 

在我的configuration…它似乎是“.html”的注册是相当重要的,因为它指定与.html句柄关联…

我希望这可以帮助别人…

因为我是一个好老师,我不能回答自己的问题7个小时,但如果有人需要完整的工作例子,我可以明天发布…

默认情况下,它将从脚本所在的目录中查找名为views的文件夹。 如果您使用不同的目录,则必须指定它。

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

快递也应该告诉你更多关于它在哪里试图find视图的信息,这应该帮助你确切地知道它在哪里看。