Fazendo uso de bibliotecas de utilitários em modelos Jade do lado do servidor

Jade é um motor de template limpo e poderoso bem conhecido pelos desenvolvedores Node.js, mas carece de métodos utilitários avançados (como para manipular ou formatar strings, datas, etc.).

Felizmente, bibliotecas como underscore.js , underscore.string e moment.js fornecem uma grande variedade de métodos que podem ser usados ​​ao gerar visualizações do lado do servidor.

Esta é uma maneira de fazer isso em um aplicativo Express.js padrão , com a ajuda de app.locals :

Adicione estas linhas no ponto de entrada do seu aplicativo (geralmente app.js):

express = require('express');
...
app
= express();
app
.locals._ = require('underscore');
app
.locals._.str = require('underscore.string');
app
.locals.moment = require('moment');

Então, como você pode usar código JavaScript simples em suas visualizações Jade, você pode fazer facilmente:

span.price #{_.str.numberFormat(product.price, 2)} EUR
...
span
.created-at= moment(product.createdAt).format('DD.MM.YYYY')

É isso aí!