开发者

a server side mustache.js example using node.js

开发者 https://www.devze.com 2022-12-24 05:57 出处:网络
I\'m looking for an example using Mustachejs with Nodejs here is my example but i开发者_StackOverflow中文版t is not working. Mustache is undefined.

I'm looking for an example using Mustachejs with Nodejs

here is my example but i开发者_StackOverflow中文版t is not working. Mustache is undefined. I'm using Mustachejs from the master branch.

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);


I got your example working by installing mustache via npm, using the correct require syntax and (as Derek said) using mustache as an object not a function

npm install mustache

then

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); 


Your example is almost correct. Mustache is an object, not a function, so it doesn't need the (). Rewritten as

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

will make it happier.


Thanks to Boldr http://boldr.net/create-a-web-app-with-node Had to add the following code to mustache.js

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

Not exactly sure what it is doing but it works. Will try to understand it now.


Take a look to A Gentle Introduction to Node.js

To fix I opened up mustache.js and removed the var declaration when Mustache is being created

0

精彩评论

暂无评论...
验证码 换一张
取 消