Eu estou tentando fazer com que o Bigode funcione corretamente com o Express, e como se pode imaginar, estou tendo problemas.
A linha a seguir inicializa o Bigode legal e limpo. Variáveis são renderizadas como esperado.
app.register("html", require(__dirname+"/public/js/libs/mustache.js"));
No entanto, os problemas começam a subir quando as parciais são lançadas na mistura. Com Bigode, isso aqui parcial deve invocar a visualização do cabeçalho / parcial.
{{> header}}
Mas, infelizmente, nada acontece. : / Mesmo quando ofereço a parcial diretamente, o Mustache não consegue renderizá-la.
app.get("/", function(req, res) {
res.render("welcome", {
partials: {
header: "<h1>Header</h1>"
}
});
});
Então, parece que as parciais não estão funcionando. Eu encontrei um hack que faz as parciais funcionarem um pouco:
http://bitdrift.com/post/2376383378/using-mustache-templates-in-express
Depois disso, as parciais renderizam quando oferecidas diretamente na chamada de renderização (veja acima), mas ainda falha ao renderizar as parciais diretamente nas visualizações / layouts:
Layout parece algo como isto:
Behold, the header
{{> header}}
<p>Let"s move to more important stuff...</p>
A visualização de cabeçalho é algo assim:
<h1>Header</h1>
Express pode carregar as visualizações por si só ok, mas não sabe como lidar com os parciais de bigode ...
Respostas:
2 para resposta № 1Consegui fazer isso funcionar com a última versão do hogan-express.
https://github.com/vol4ok/hogan-express
Tudo o que é necessário é instalar o hogan-express e usá-lo como mecanismo de template no express. Nenhum hacking ou ajuste necessário.
0 para resposta № 2
Eu não tenho certeza do que é exatamente na sua ./public/js/libs/mustache.js
... eu uso o módulo bigode do npm + uma variação do objeto de template você vinculou a.
Em qualquer caso, o objeto que você passa para app.register
precisa ligar mustache.to_html(template, locals, partials)
em algum ponto.
Você precisa passar o objeto parciais como o terceiro argumento para o bigode to_html
.