require-j: Jade do lado do cliente com herança de modelo

require-j tenta preencher a lacuna deixada pela portabilidade do jade para o cliente, ou seja, a capacidade de usar construções de herança de template como extends e include .

Para carregar modelos, o jade depende de certos módulos de nó (como pathe fs) para existir durante o tempo de execução e usa requirepara acessá-los. O problema é que o nó requireé substituído por RequireJS, requireque não tem noção de módulos de nó.

Para resolver esse problema, require-j substitui as funções parseInclude e parseExtends padrão do jade por uma variante que utiliza APIs RequireJS, como toUrl e . Isso é obtido sem nenhuma modificação na biblioteca jade.fetchText

Repositório GitHub