2010-03-22 15 views
26

Busco un ejemplo usando mustache.js con Node.jsun servidor mustache.js laterales ejemplo usando Node.js

aquí está mi ejemplo, pero no está funcionando. El bigote no está definido. Estoy usando Mustache.js desde la rama principal.

var sys = require('sys'); 
var m = require("./mustache"); 

var view = { 
    title: "Joe", 
    calc: function() { 
    return 2 + 4; 
    } 
};  
var template = "{{title}} spends {{calc}}";  
var html = Mustache().to_html(template, view); 

sys.puts(html); 

Respuesta

10

Gracias a BOLDR http://boldr.net/create-a-web-app-with-node tuvo que añadir el siguiente código a mustache.js

for (var name in Mustache) 
    if (Object.prototype.hasOwnProperty.call(Mustache, name)) 
     exports[name] = Mustache[name]; 

No exactamente seguro de lo que está haciendo, pero funciona. Intentaremos entenderlo ahora.

+0

Básicamente agrega todo en el objeto Moustache al objeto de exportación [especial]. Esto es necesario ya que así es como funcionan los módulos en node.js http://nodejs.org/docs/v0.4.8/api/modules.html#modules – Rajat

16

Su ejemplo es casi correcto. El bigote es un objeto, no una función, por lo que no necesita el(). Reescrito como

var html = Mustache.to_html(template, view); 

lo hará más feliz.

29

que consiguiera su ejemplo de trabajo mediante la instalación de bigote a través de la NGP, utilizando la correcta requieren sintaxis y (como dijo Derek) usando el bigote como no un objeto en función

npm install mustache 

continuación

var sys = require('sys'); 
var mustache = require('mustache'); 

var view = { 
    title: "Joe", 
    calc: function() { 
    return 2 + 4; 
    } 
}; 

var template = "{{title}} spends {{calc}}"; 

var html = mustache.to_html(template, view); 

sys.puts(html);