ejs filter使用

node安装ejs模块后,在ejs/lib/filters.js文件中有很多常用的方法
如:

exports.upcase = function(str){
  return String(str).toUpperCase();
};

使用方法:

<%=: "abcdef" | upcase  %>

结果:ABCDEF

自定义filter
如格式化日期:
在filters.js文件加入如下代码即可

exports.format = function (obj, format) {
    if (format == undefined) {
        format = 'YYYY-MM-DD HH:mm:ss';
    }
    var ret = moment(obj).format(format);
    return ret == 'Invalid date' ? '0000-00-00 00:00:00' : ret;
};

直接修改组件代码不是太好,不利于组件升级
推荐的方法是在app.js中引入ejs后

给ejs对象添加filter即可,如下加粗代码修改

ejs.filters.format = function (obj, format) {
    if (format == undefined) {
        format = 'YYYY-MM-DD HH:mm:ss';
    }
    var ret = moment(obj).format(format);
    return ret == 'Invalid date' ? '0000-00-00 00:00:00' : ret;
};

使用方法:

<%=: data | format:"YYYY-MM-DD" %>

原文:NODELOG

你可能感兴趣的:(ejs filter使用)