Jade Error Logging Like a Boss

O registro de erros é seu amigo.

Ao usar Jade para modelar suas visualizações, é realmente útil validar seus mixins (também conhecidos como funções) com mensagens de erro úteis para ver onde os problemas acabam quebrando quando são chamados. Descobri que essa prática é particularmente útil quando você tem um aplicativo de grande escala e está ligando para dezenas ou até centenas de mixins.

A seguir está um registrador de erros simples e um exemplo de implementação.

//--------------------------------------------------------
//- Error Logger
//- Argument: string (optional)
//- Example: +errorLogger('All arguments required.')
//--------------------------------------------------------

mixin errorLogger
(error)
if (!error)
script
.
console
.error('Error: Jade Mixin');
else
script
.
console
.error('Error: ' + error);

//--------------------------------------------------------
//- Social Login
//- Argument: string, string, string, string
//- Example: +socialLogin('home', 'bounceInLeft', 'facebook', 'Connect')
//--------------------------------------------------------

mixin socialLogin
(link, animation, icon, text)
if (link && animation && icon && text)
a
(href="/#{link}", class="animated #{animation}")
i
(class="fa fa-#{icon}")
span
= text
else
+errorLogger('All arguments required.')

//--------------------------------------------------------
//- Example Implementation
//--------------------------------------------------------

+socialLogin('home', 'bounceInLeft', 'facebook')
//- Whoops, I forgot to include the last argument, therefore it will fail and you'll see the following in your console:

Error: All arguments required.