Node.js 如何使用EJS模板引擎直接打印变量?

Node.js 如何使用EJS模板引擎直接打印变量?,node.js,express,ejs,Node.js,Express,Ejs,我将Node.js与Express web framework(和EJS模板引擎)一起使用。 当我必须打印变量时,我会执行以下操作: <% if (value) { %> <%= value %> <% } %> 我能在不打开其他括号的情况下做同样的事情吗?比如: <% if (value) { PRINT VALUE } %> 这可能吗?如何打印变量?我惊讶地发现,显然您无法打印变量,就像在PHP中一样: <?php if

我将Node.js与Express web framework(和EJS模板引擎)一起使用。 当我必须打印变量时,我会执行以下操作:

<% if (value) { %>

<%= value %>

<% } %>

我能在不打开其他括号的情况下做同样的事情吗?比如:

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


这可能吗?如何打印变量?

我惊讶地发现,显然您无法打印变量,就像在PHP中一样:

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

然而,一个稍微好一点的解决方案可能是这样做

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

我这样说是假设条件有时可能更复杂,即

<%= (str.length > 100) ? truncate(str) : str; %>
100)?截断(str):str;%>
这比你想象的要好得多

<% if (str.length > 100) { %>
<%= truncate(str) %>
<% } %>
100){%>
即使这是一个稍微做作的例子


根据您最初的问题,我希望看到一个直接命令来执行此操作。

现在有一个
outputFunctionName
参数可供您使用。根据:

outputFunctionName
设置为字符串(例如,“echo”或“print”),以便函数在scriptlet标记内打印输出


你为什么不直接使用
?因为我,例如,想做一些事情,比如,如果满足这个条件,选中复选框或类似的东西。或者更简短地说,它只是
,你可以把你的键放进去,它会打印键的值,或者你可以把一个字符串放在引号里,它会打印出来。