我一直在玩Node.js.我最近开始用Express快乐,并且一直在设置一个基本的应用程序.我想使用Handlebars作为我的视图模板引擎,但是碰到墙 – 找不到视图“index.html”
我将index.html与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'));
在我的配置…似乎’.html’的注册表非常重要,因为它指定与.html的句柄关联…
我希望这有助于某人…
因为我是一个这样的人,我不能回答我自己的问题7个小时,但如果有人需要完整的工作示例,我可以在明天发布…
解决方法
默认情况下,它将从脚本目录中查找名为views的文件夹.如果使用不同的目录,您必须指定它.
app.set('views',__dirname + '/views');
Express还应该告诉你更多关于它在哪里寻找视图的信息,这应该可以帮助你确切地知道它在哪里.