在我们的webpack构建中,我们有一个带有ejs模板的文件:
<% switch (type) {
case 'homepage' : %>
<%- include partials/top -%>
<% break;
case 'amsterdam' : %>
<%- include partials/1 -%>
<% break;
case 'company' : %>
<%- include partials/2 -%>
<% break;
case 'new york' : %>
<%- include partials/3 -%>
<% break;
case 'paris' : %>
<%- include partials/4 -%>
<% break;
} %>
这有效。但是可以删除所有的<%
和%>
,因为整个块实际上是由<% %>
解释的。
我尝试仅保留第一个<%和结尾的%>,如下所示,但构建失败,提示ejs掉毛错误。
<% switch (type) {
case 'homepage' :
include partials/top
break;
case 'amsterdam' :
include partials/1
break;
case 'company' :
include partials/2
break;
case 'new york' :
include partials/3
break;
case 'paris' :
include partials/4
break;
} %>
是否可以完全删除所有<% %>
?
答案 0 :(得分:1)
<%%>用于条件语句或变量评估,要显示,您必须使用<%=%>或<%-%>,但那些期望值而不是表达式
唯一的方法是将开关包含在函数中并返回结果:
<% var a = 1; %>
<%- (function(){
switch(a){
case 1:
return include("c.ejs");
break;
case 2:
return include("d.ejs");
break;
default:
break;
}
})()
%>