我们如何才能逃避模板内的ejs标签?如何逃避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模板中的<%
。
我们该怎么做?
您是否尝试过'<' and '>'的HTML实体,它们是'<'和'>'? –
@ScottMarcus是的,我试过了。这个问题被呈现为layout.ejs文件中的html实体,在那里我应该有非转义的'<%'。所以在浏览器中出现我想要的代码,但是作为纯文本。 – GarouDan