首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NodeJS + Express + Handlebars找不到视图"index.html“

NodeJS + Express + Handlebars找不到视图"index.html“
EN

Stack Overflow用户
提问于 2012-01-11 13:09:00
回答 1查看 14.8K关注 0票数 16

我和Node.js玩过一段时间。我最近开始玩弄Express,并一直在设置一个基本的应用程序。我想使用Handlebar作为我的视图模板引擎,但是遇到了问题--找不到视图"index.html“

我将index.html和app.js放在同一个目录中,所以我认为下面的代码可以很容易地找到index.html……

我到处寻找,但似乎除了玉石之外,其他任何东西的全面例子都很少见……有谁有这个组合的经验吗?

提前感谢!

代码语言:javascript
复制
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);

更新:

我错过了:

代码语言:javascript
复制
app.set('views', __dirname + '/');
app.register('.html', require('handlebars'));

在我的配置中..。似乎'.html‘的寄存器非常重要,因为它指定了与.html关联的把手。

我希望这能帮助一些人。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-11 23:02:03

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

代码语言:javascript
复制
app.set('views', __dirname + '/views');

Express还应该告诉你更多关于它试图在哪里找到视图的信息,这应该可以帮助你准确地知道它在哪里寻找。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8814437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档