在Express.js中动态创建HTML表

时间:2017-12-19 15:48:51

标签: express

我是Node.js / Express.js的新手,我已经阅读了很多内容,但我承认也许我仍然坚持PHP范式。我正在考虑将我的网站服务器从PHP转移到Express.js,但是有一些问题我仍然无法弄清楚。

例如在PHP中,如果我想从Object或Array动态构建一个巨大的HTML表,我会做一些类似的事情:

<table>
  <?php foreach ($my_array as $key => $value) { 
    echo "<tr><td>".$key."</td><td>".$value."</td></tr>";
  }?>
</table>

如果有或没有Jade,我如何在Express.js中这样做?

1 个答案:

答案 0 :(得分:2)

当然你可以用 express

做同样的事情
app.get('/', (req, res) => {

  let obj = { 1: 'one', 2: 'two', 3: 'three' }

  let result = '<table>';
  for (let el in obj) {
    result += "<tr><td>" + el + "</td><td>" + obj[el] + "</td></tr>";
  }
  result += '</table>';

  res.send(result);

})

但是使用像 jade 这样的模板引擎来分离视图中的数据是一个好主意:

index.pug:

table
  each value, key in data
    tr
      td #{key}
      td #{value}

server.js:

app.get('/', (req, res) => {
  let obj = { 1: 'one', 2: 'two', 3: 'three' }
  res.render('index', { data: obj })
})