Javascript 在Express中将阵列传递给Jade/Pug路线

Javascript 在Express中将阵列传递给Jade/Pug路线,javascript,arrays,node.js,function,express,Javascript,Arrays,Node.js,Function,Express,我对express和pug是新手,所以如果这是一个noob问题,请原谅我,但是我如何将我在一个函数中创建的数组传递到将呈现pug模板的路由。我最终希望遍历数组并将其呈现为表 我的代码-首先,我使用lodash map方法从文件中接收的数据创建数组*编辑-添加完整的代码结构- fs.readFile(file, 'utf8', function (err, data) { if (err) { console.log('Error: ' + err); return;

我对express和pug是新手,所以如果这是一个noob问题,请原谅我,但是我如何将我在一个函数中创建的数组传递到将呈现pug模板的路由。我最终希望遍历数组并将其呈现为表

我的代码-首先,我使用lodash map方法从文件中接收的数据创建数组*编辑-添加完整的代码结构-

  fs.readFile(file, 'utf8', function (err, data) {
   if (err) {
   console.log('Error: ' + err);
   return;
   }

  var data = JSON.parse(data);

  var newEventList = data.events.map(events => ({
   id: events.id ,
   name: events.name ,
   venue: events.place.name ,
   address: events.place.location.street + " " + 
   events.place.location.city + " " + events.place.location.zip ,
   coverPicture: events.coverPicture ,
   description: events.description ,
   startTime: events.startTime ,
   endTime: events.endTime
   }));
 });
现在我有了一个名为newEventList的对象数组

我去帕格的路线是

app.get('/', function (req, res, newEventList) {
 res.render('index', { title: 'Hey', message: 'Hello there!', 
     newEventList 
 })
})
我添加了标题和消息来测试我的哈巴狗模板。 在我的哈巴狗模板中,我有

h1= message
p= newEventList
但在呈现的段落中,我得到了一条很长的错误信息-

function next(err) { // signal to exit route if (err && err === 'route') { return done(); } // signal to exit router if (err && err === 'router') { return done(err) } var layer = stack[idx++]; if (!layer) { return done(err); } if (layer.method && layer.method !== method) { return next(err); } if (err) { layer.handle_error(err, req, res, next); } else { layer.handle_request(req, res, next); } }

请问我做错了什么?

从路由定义的回调中,删除或重命名
newEventList
作为第三个参数

在您的示例中,
newEventList
被分配给
done/next
回调。因此,您看到一个函数被打印在您的段落中

var newEventList = // Whatever value;

app.get('/', function (req, res) {
  res.render('index', { title: 'Hey', message: 'Hello there!', 
    newEventList 
  })
})

谢谢,但是我没有提到data.events.map函数在另一个函数中,所以在实现时,我想我也有一个可变范围的问题。因此,在该函数中,我想我必须返回newEventsList数组,以使其可用于下面的其他函数,抱歉,我想我可能需要重新编写问题。我将编辑代码以反映这一点…这确实回答了我原来的问题,因此我将接受它。谢谢