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

时间:2017-02-03 22:28:06

标签: javascript ejs

我们如何在模板中逃避ejs标签?

在帆中我想将以下代码放在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模板中转义<%

我们怎么做?

1 个答案:

答案 0 :(得分:3)

<%%会转义EJS代码,并会为您提供<%

以下是文档: EJS

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

相关问题