Nodejs Handlebars 如何 运行 服务器端 javascript
Nodejs Handlebars How to run serverside javascript
我正在尝试在 Nodejs 上使用 Handlebars。
我可以执行普通变量,但是如果我想执行 javascript 代码来输出一些值怎么办?
在 PHP 中,我们会这样做:
<div>This is formatted date : <?php echo date($oldDate); ?> </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();
});
我正在尝试在 Nodejs 上使用 Handlebars。
我可以执行普通变量,但是如果我想执行 javascript 代码来输出一些值怎么办? 在 PHP 中,我们会这样做:
<div>This is formatted date : <?php echo date($oldDate); ?> </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();
});