Я думаю, что это ошибка в руководстве. Когда вы добавляете переменную list
, вы помещаете элементы HTML в строку.
Ejs автоматически избежит этого, когда вы выполните <%= list %>
.
Чтобы получить строку, которая будет интерпретироваться как HTML, необходимо изменить ее на <%- list %>
.
Сказав это, вы должны быть очень осторожны при использовании этого, поскольку это потенциально оставляет сайт открытым для людей, внедряющих скрипты на вашу страницу (XSS).
Вам бы лучше сделать что-то вроде этого:
<ul>
<% userlist.forEach(function(user){ %>
<li>
<a href="mailto:<%= user.email %>"><%= user.username %></a>
</li>
<% }); %>
</ul>