我是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中这样做?
答案 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 })
})