EJS渲染参数的含义
var express = require('express'); var app = express(); app.set('view engine','ejs'); var ejs = require('ejs'), people = ['geddy', 'neil', 'alex'], html = ejs.render('<%= people.join(", "); %>', {people: people}); app.get('/' , function(req, res){ res.render("basic",{html}); }); app.listen( 3000,function() { console.log(html); });
“基本”是一个basic.ejs文件:
<html> <title>Hello</title> <body> <%- html %> </body> </html>
这工作,但我想知道这一行究竟是怎么回事
html = ejs.render('<%= people.join(", "); %>', {people: people});
这个声明{people:people}是做什么的?
谢谢
{people: people}
把一系列的人物放在一个对象中,与关键人物相关联,如['geddy', 'neil', 'alex']
。 所以当EJS呈现<%= people.join(", "); %>
<%= people.join(", "); %>
,它转到您传递给函数( {people: people}
)的对象,查找名为people
的键并使用相关联的值。