如何使Express不将模板脚本标记解释为实际的EJS

时间:2015-02-11 02:07:42

标签: javascript html backbone.js express ejs

我在脚本标记中有一个简单的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读取?

1 个答案:

答案 0 :(得分:1)

最简单的方法是更改​​ejs打开和关闭标签。 E.g:

res.render('backbone-template', { open: '<<', close: '>>' });