Отрисовка шаблона ejs

У меня есть следующий код в nodejs (я читаю файл temp.ejs и получаю содержимое как ejsHtml в виде строки):

var html = EJS.render(ejsHtml, { A: '<div>smth</div>' } );

И в temp.ejs:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
</head>
<body>
      <%= A %>
</body>
</html>

Выход:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
</head>
<body>
      &lt;div&gt; smth &lt;/div&gt;
</body>
</html>

Подскажите пожалуйста как получить Html а не то


person karaxuna    schedule 27.04.2012    source источник


Ответы (2)


Для вывода экранированного html выполните следующие действия:

<%= code %>

Чтобы вывести неэкранированный html, вы должны использовать следующее

<%- code %>
person Menztrual    schedule 28.04.2012

Я использовал подчеркивание, чтобы помочь мне. Только <%= или <%- не работали.

<%- _.unescape( data.textWithHtml ) %>
person Gustav    schedule 25.06.2014
comment
Это также работает с частичными. В моем конкретном случае я использовал ejs-mate. - person iwatakeshi; 12.10.2015