EJS 呈现参数含义

EJS render parameters meaning

本文关键字:参数 EJS      更新时间:2023-09-26
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"是一个basic.ejs文件:

<html>
<title>Hello</title>
<body>
<%- html %>
</body>
</html>

这有效,但我想知道这条线到底发生了什么

html = ejs.render('<%= people.join(", "); %>', {people: people});

{人:人}这句话有什么作用?

谢谢

>{people: people}将人员数组(因此['geddy', 'neil', 'alex'])放在一个对象中,与键people相关联。因此,当 EJS 渲染 <%= people.join(", "); %> 时,它会转到您传递给函数的对象 ( {people: people} ),查找名为 people 的键并使用关联的值。

在您的情况下,您可以简单地替换它:

html = ejs.render('<%= people.join(", "); %>', {people: people});

有了这个:

html = people.join(", ");

唯一的区别是这个

<%= 将值输出到模板中<strong>(HTML 转义)</strong></p> </blockquote><p>由于阵列是安全的,因此无需使用<%= </p> </div> </html>%>