将查询数据从一个函数返回到一个jade / express.js页面

我一直在尝试几种不同的方法来尝试使用express.js从一个SQL查询中获取数据,并使用express和Jade模板将其显示在页面上。 我已经通过阅读太多不同的方法来纠缠这个过程,但是我并没有理解这个基本概念。

本质上,我有一个名为fetchData的函数app.js创build一个连接到DB2数据库,并将行存储在一个数组中。 我能够看到成功打印到控制台日志。 我的问题在于将数组返回到由express和Jade生成的网页。 我已经使用了教程,并使用下面的代码创build了基本页面

router.get('/', function(req, res, next) { res.render('index', { title: 'Express'}); }); 

之后,我试过:

 module.exports = router; exports.init = fn1.fetchData(); exports.list = function (req ,res) { res.render('iData', { 'iData': dData }); } 

但是这肯定是不正确的,当我尝试使用玉石模板显示它时,它不工作:

 extends layout block content h1= title p Howdy, welcome to #{title} ul for val in iData li= val 

有没有人知道一个很好的指导或方法来做我想做的事情? 这似乎是相当基本的,我只是没有正确使用的成分(节点,expression,玉)。

也许你失踪的标题variables搞砸了:

app.js

 exports.list = function (req ,res) { res.render('iData', { 'iData': dData, title: 'something' }); } 

iData.jade

 h1= title p Howdy, welcome to #{title} ul for val in iData li= val 

翡翠部分似乎工作正常: https : //codepen.io/anon/pen/LZWYqx