Nodejs Handlebars 如何 运行 服务器端 javascript

Nodejs Handlebars How to run serverside javascript

我正在尝试在 Nodejs 上使用 Handlebars。

我可以执行普通变量,但是如果我想执行 javascript 代码来输出一些值怎么办? 在 PHP 中,我们会这样做:

<div>This is formatted date : &lt;?php echo date($oldDate); ?&gt; </div>

nodejs 把手中的示例:

<div>This is non formatted date: {{olddate}}</div>
<div>This is formatted date : {{ date(olddate)}}</div>

我知道在 EJS 模板引擎中,我们可以通过像这样放入 <% 来做到这一点

<div>This is formatted date : <% date(olddate)%></div>

感谢您的回答

Handlebars 不支持在模板中执行 JavaScript 表达式,包括函数调用。这可能是因为它受到 Mustache 的“无逻辑模板,”的启发,只添加了最少量的逻辑。

使用的是 helpers:

<div>This is formatted date : {{date olddate}}</div>

并且,它允许您使用 Handlebars.registerHelper():

定义您自己的
Handlerbars.registerHelper('date', function (dateValue) {
    return new Date(dateValue).toString();
});

示例:https://jsfiddle.net/sznkd4eo/