关于pug(jade)模板引擎的疑问

我需要给pug文件自定义一个filter用来格式化时间显示在前端,

如果使用express中的res.render,则只能传递后台数据给模板中的变量,不知如何使用到自定义过滤器(该过滤器后面会多次使用,所以应该只定义一次)

如果使用pug.renderFile,虽然可以传递并使用自定义过滤器,但又不知道如何向模板中的变量传递后台数据了,而且不知道如何复用该过滤器以实现公用

网上找了很久,但...实在找不出来
若问题描述还不太清楚,麻烦指出,我会及时向各位解释

阅读 4.4k
2 个回答
app.locals.filters = {
  'my-own-filter': function(text, options) {
    if (options.addStart) text = 'Start\n' + text;
    if (options.addEnd) text = text + '\nEnd';
    return text;
  }
};

使用 filter:

p
  :my-own-filter(addStart addEnd)
    Filter
    Body

渲染结果:

<p>
  Start
  Filter
  Body
  End
</p>

参见:https://pugjs.org/api/express...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题