使用下划线模板进行骨干项目。在服务器上使用nodejs并使用EJS呈现视图。下划线模板使用与EJS相同的分隔符,因为下划线模板在我的.ejs视图中作为内联脚本标记我收到错误。 我尝试了以下解决方案:
app.set('view options', {
open: '{{',
close: '}}'
});
它似乎仍在尝试渲染下划线模板并抛出错误:
<h2><%= title %></h2>
title is not defined
似乎在EJS中使用自定义分隔符只是添加了接受而不是更改它们的标记类型。我也找不到像haml那样吐出原始html的方法。
答案 0 :(得分:1)
underscore documentation表示使用_.templateSettings对象来覆盖分隔符的使用方式。所以像这样:
_.templateSettings = {
evaluate: /\{\{(.+?)\}\}/g,
interpolate: /\{\{=(.+?)\}\}/g
};