jade循环无法访问node.js文件中的variables

我一直在寻找解决这个问题的日子,并会喜欢任何解决scheme或build议。

我正在用node.js,express和mongo db来构build一个非常简单的博客。 我这样做是为了更好地理解节点,因为我还不是很精通。

我遵循所有的说明,考虑到版本的差异,一切都运行良好,直到我看到教程“杀死视图”中的标题,我发送一些虚拟数据到一个玉文件来渲染。

如果我将代码保留在我的app.js文件中,并没有将jade文件传递给它:

var articleProvider= new ArticleProvider(); app.get('/', function(req, res){ articleProvider.findAll(function(error, docs){ res.send(docs); }); }) app.listen(3000); 

我得到一个数据对象的呈现。

但是,当我传递的玉文件被渲染,我得到的错误:

 TypeError: Cannot read property 'length' of undefined 

…这是指我的玉文件(第3行),这是在这里的每个循环:

 h1= title #articles - each article in articles div.article div.created_at= article.created_at div.title a(href="/blog/"+article._id)!= article.title div.body= article.body 

这里是整个该死的东西的git 的链接 。 任何帮助都非常感谢!

articles参考是未定义的。 尝试将您的呈现代码更改为以下内容:

 app.get('/', function(req, res){ articleProvider.findAll(function(error, docs){ res.render('index.jade', { articles: docs }); }); });