Подтвердить что ты не робот

Как печатать переменную напрямую с помощью механизма шаблонов EJS?

Я использую Node.js с Express web framework (и движок шаблонов EJS). Когда мне приходится печатать переменную, я делаю что-то вроде:

<% if (value) { %>

<%= value %>

<% } %>

Могу ли я сделать то же самое без открытых скобок? Как:

<% if (value) { PRINT VALUE } %>

Возможно ли это? Как распечатать переменную?

4b9b3361

Ответ 1

Я поражен тем, что явным образом вы не можете этого сделать, как в PHP:

<?php if ($value) : ?>
    <?php echo $value; ?>
<?php endif; ?>

Однако немного лучшее решение может заключаться в том, чтобы сделать

<%= (value) ? value : '' %>

Я говорю, что это предполагает, что условие может иногда быть более сложным, т.е.

<%= (str.length > 100) ? truncate(str) : str; %>

Что гораздо приятнее, чем

<% if (str.length > 100) { %>
<%= truncate(str) %>
<% } %>

даже если это немного надуманный пример.

Мне бы хотелось, чтобы мне показывали прямую команду, чтобы сделать это, согласно вашему первоначальному вопросу.