如何在 ejs 模板字符串中转义 ejs 标签?

How to escape ejs tags inside an ejs template string?

我们如何在模板中转义 ejs 标签本身?

在 sails 中,我想将以下代码放在 layout.ejs

<!--STYLES-->
<% if (typeof head_css != 'undefined') { %>
  <%= head_css %>
<% } else { %>
  <% if (typeof head_css_before != 'undefined') { %>
    <%= head_css_before %>
  <% } %>
    <link rel="stylesheet" href="/styles/importer.css">
  <% if (typeof head_css_after != 'undefined') { %>
    <%= head_css_after %>
  <% } %>
<% } %>
<!--STYLES END-->

但默认情况下,<!--STYLES--><!--STYLES END--> 中的所有内容都被此模板替换:

<link rel="stylesheet" href="%s">

sails-linker.js.

所以我想代替模板 <link rel="stylesheet" href="%s"> 放一些更复杂的东西,而不是渲染结果变成:

<!--STYLES-->
<% if (typeof head_css != 'undefined') { %>
  <%= head_css %>
<% } else { %>
  <% if (typeof head_css_before != 'undefined') { %>
    <%= head_css_before %>
  <% } %>
    <link rel="stylesheet" href="/styles/importer.css">
  <% if (typeof head_css_after != 'undefined') { %>
    <%= head_css_after %>
  <% } %>
<% } %>
<!--STYLES END-->

但问题是当我尝试

<%= special_code_here %><link rel="stylesheet" href="%s">

这是自动呈现的。我需要在 ejs 模板中转义 <%

我们如何做到这一点?

<%% 转义了 EJS 标签,会给你 <%

文档如下: EJS

如果我正确理解你的问题,这应该会有所帮助。