我在脚本标记中有一个简单的EJS模板,用于我的HTML中的Backbone.js,如下所示:
<script type="text/template" id="template-wallets">
<% if(i === 0) {%>
<div class='wallet-box selected'>
<% } else {%>
<div class='wallet-box'>
<% }%>
<img src='api/identicon/<%= wallet.get('address') %>'>
<div class='wallet-label'><%= wallet.get('address').substring(0, 8) %></div>
</div>
</script>
但是,此页面是一个EJS页面本身,由Express提供。当请求页面时,Express会将脚本标记的内容解释为EJS并尝试呈现它,这显然是有问题的。有没有什么方法可以在脚本标记中以这样的方式逃避EJS,它最终会在页面上结束,准备好在客户端通过JavaScript读取?
答案 0 :(得分:1)
最简单的方法是更改ejs打开和关闭标签。 E.g:
res.render('backbone-template', { open: '<<', close: '>>' });