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.