Node.js 在代码块中使用jade mixin

Node.js 在代码块中使用jade mixin,node.js,express,pug,Node.js,Express,Pug,有什么方法可以在里面使用吗 我有下一个用例: mixin YYYYMMDD(date) = date.getFullYear() + '-' = ('0' + (date.getMonth() + 1)).slice(-2) + '-' = ('0' + date.getDate()).slice(-2) 所以我需要在里面用这个混合器 input( value=YYYYMMDD(date) ) 更新: 我不得不将这些混音重新制作成js函数,因此它看起来与下一个类似: - f

有什么方法可以在里面使用吗

我有下一个用例:

mixin YYYYMMDD(date)
  = date.getFullYear() + '-'
  = ('0' + (date.getMonth() + 1)).slice(-2) + '-'
  = ('0' + date.getDate()).slice(-2)
所以我需要在里面用这个混合器

input(
   value=YYYYMMDD(date)
)
更新: 我不得不将这些混音重新制作成js函数,因此它看起来与下一个类似:

- function YYYYMMDD(date)
    - var flDate = date.getFullYear() + '-';
    - flDate += ('0' + (date.getMonth() + 1)).slice(-2) + '-';
    - flDate += ('0' + date.getDate()).slice(-2);
    - return flDate;

最简单的方法是,在服务器上编写此代码,然后还可以使用其他语法,例如coffeescript,在本例中甚至更好,使用一些库,如矩

渲染模板时,只需将辅助对象添加到局部对象:

var moment = require('moment');
var YYYYMMDD = function(date) {
  return moment(date).format('YYYYMMDD');
}

// express code

app.get('/test', function(req, res, next) {
  var locals = getLocalsForTest();
  locals.helpers = {
    YYYYMMDD: YYYYMMDD
  };
  res.render('template.jade', {locals: locals});
});
在你的模板中,你可以称之为

input(value=helpers.YYYYMMDD(date))