Nodejs Handlebars如何运行serverside javascript

时间:2016-02-22 05:45:17

标签: javascript node.js handlebars.js

我正在尝试在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模板引擎中我们可以通过放入&lt;%like this

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

感谢您的回答

1 个答案:

答案 0 :(得分:1)

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/