【发布时间】:2014-05-24 08:10:13
【问题描述】:
http://howtonode.org/express-mongodb 我正在尝试运行此示例,当我尝试运行 node app.js 时出现 ReferenceError。
这是错误: 500 参考错误:/home/action/blog/views/index.jade:4 2| h1=标题3| #文章 > 4| - 第 5 条中的每篇文章| div.第 6 条| div.created_at=article.created_at 7| div.title 标题未定义
2| h1= title
3| #articles
4| - each article in articles
5| div.article
6| div.created_at= article.created_at
7| div.title
title is not defined
at eval (eval at (/home/action/blog/node_modules/jade/lib/jade.js:176:8), :19:15)
at /home/action/blog/node_modules/jade/lib/jade.js:181:12
at Object.exports.render (/home/action/blog/node_modules/jade/lib/jade.js:216:14)
at View.exports.renderFile [as engine] (/home/action/blog/node_modules/jade/lib/jade.js:243:13)
at View.render (/home/action/blog/node_modules/express/lib/view.js:75:8)
at Function.app.render (/home/action/blog/node_modules/express/lib/application.js:504:10)
at ServerResponse.res.render (/home/action/blog/node_modules/express/lib/response.js:753:7)
at /home/action/blog/app.js:38:13
at /home/action/blog/articleprovider-mongodb.js:43:16
at /home/action/blog/node_modules/mongodb/lib/mongodb/cursor.js:159:16
它在 index.jade 文件中,但我似乎无法弄清楚哪里出了问题。
编辑添加: 这是 index.jade 文件:
block content
h1= title
#articles
- each article in articles
div.article
div.created_at= article.created_at
div.title
a(href="/blog/"+article._id.toHexString())!= article.title
div.body= article.body
extends layout
这是索引页面的 app.get:
app.get('/', function(req, res){
articleProvider.findAll( function(error,docs){
res.render('index.jade', { locals: {
title: 'Blog',
articles:docs
}
});
})
});
它在函数中传递标题,所以我真的不确定问题是什么。
【问题讨论】:
-
发布您应该匹配的 javascript 代码:howtonode.org/express-mongodb/2/app.js。您需要确保在调用
res.render时传递模板期望的“本地”,包括应该是文章标题的“标题”。 -
我的 app.js 就是那个;为了确定,我复制了它。 res.render 看起来像这样: res.render('index.jade', { locals: { title: 'Blog',articles:docs
标签: node.js mongodb express referenceerror