underscore.js with consolidate.js:如何更改templateSettings?

我在Node.js上使用Express.js,并用“ {{}} ”括号标记参数位置,但下划线默认使用“ <%%> ”。

app.engine('html', cons.underscore); // set .html as the default extension app.set('view engine', 'html'); app.set('views', __dirname + '/views'); 

在我调用render方法之前,何时以及如何更改templateSettings.interpolate以在模板中包含“ {{}} ”括号?

您可以通过_.templateSetting对象更改模板设置。 信息在下划线网站上 。 以下是他们用来更改为Handlebars样式括号的代码:

 _.templateSettings = { interpolate: /\{\{(.+?)\}\}/g }; var template = _.template("Hello {{ name }}!"); template({name: "Mustache"}); => "Hello Mustache!" 

这可以在代码中的任何地方,因为它正在修改全局下划线对象。