更改express + node.js + ejs的代码包装类型

Rob*_*ohr 1 ejs node.js express

在客户端ejs我使用[% code %]而不是<% code %>标记ejs代码,但我想在服务器端使用express执行相同的操作.在客户端我会做类似的事情var template = new EJS({text: template_src, type:'['});

这是我的节点代码:

app.set('view engine', 'ejs');
app.register('.html', require('ejs'));

app.get('/', function(req, res){
    res.render('index.html', { title: 'My Site' });
});
Run Code Online (Sandbox Code Playgroud)

你在哪里设置"类型"参数,所以我可以改变这个选项

ale*_*lex 7

从EJS github页面:

自定义标签也可以全局应用:

var ejs = require('ejs'); ejs.open = '{{'; ejs.close = '}}';
Run Code Online (Sandbox Code Playgroud)

您需要做的唯一事情是在Express应用程序的开头复制这些行,这就是 - 全局应用更改(将打开和关闭标记更改为您想要的任何内容).

截至2016年7月20日的最新版本更新

从最新版本的EJS开始,不再使用自定义标签(请参阅https://github.com/mde/ejs/issues/55).您所能做的就是将分隔符从默认更改%为其他(delimiter选项).有关于重新启用此功能的讨论.请参阅https://github.com/mde/ejs/issues/88https://github.com/mde/ejs/issues/115


mza*_*zar 6

如果您使用快递:

app.set('view options', {
    open: '{{',
    close: '}}'
});
Run Code Online (Sandbox Code Playgroud)