在ejs模板中,通常会用下面四种方式在HTML中输出服务端的变量或表达式的值:

1. 直接在<%%>中写表达式或变量。这种情况通常只是用来进行表达式计算或给变量赋值,不会有任何输出,被称作无缓冲的代码。

<% code %>

2. 在<%%>中通过=号输出变量或表达式的值。默认输出到页面中的内容会进行HTML转义。如 <div>Hello</div> 输出后会变成 &lt;div&gt;Hello&lt;/div&gt;

<%= code %>

3. 在<%%>中通过-号输出变量或表达式的值。内容不经任何转义直接输出到页面上。

<%- code %>

4. 在结束标记%>之前添加-号,这样输出的内容会自动带有HTML标记的缩进。如:

<% code -%><% -%><%= code -%><%- code -%>