防止 ejs 中出现空行 for 循环

Prevent empty lines in ejs for loops

我有以下简单的 ejs 模板:

<% for (var i =0; i < 10; ++i) { %>
    - <%- i %>
<% } %>

这会呈现以下内容:

- 0

- 1

- 2

- 3

- 4

- 5

- 6

- 7

- 8

- 9

如何防止 ejs 创建这样的空行?

如果可能的话,我不想修改结果字符串,而是告诉 ejs 不要呈现这些空行。我该怎么做?

如果在“%>”前加'-',会换行

<% for (var i =0; i < 10; ++i) { %>
     - <%- i -%>
<% } %>

但我发现它使用起来很棘手,因为它并不总是按预期工作。

issue 有更多详细信息。

Trim-mode ('newline slurp') 标签,在换行符后修剪。

 <% i -%> or <% -%> or <%= i -%> or <%- i -%>

你所需要的只是大笔。

Features部分,你可以看到这个选项:

  • Newline-trim mode ('newline slurping') with -%> ending tag

请注意,ejs 的新版本已维持在 mde/ejs (not tj/ejs