使用node.js的服务器端mustache.js示例

时间:2010-03-22 15:26:51

标签: node.js serverside-javascript

我正在寻找使用Mustachejs Nodejs的示例

这是我的例子,但它不起作用。 Mustache未定义。 我正在使用主分支中的Mustachejs。

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

4 个答案:

答案 0 :(得分:31)

我让你的例子工作是通过npm安装胡子,使用正确的require语法和(如Derek所说)使用胡子作为对象而不是函数

npm install mustache

然后

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

答案 1 :(得分:17)

你的例子几乎是正确的。 Mustache是​​一个对象,而不是一个函数,所以它不需要()。改写为

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

会让它更快乐。

答案 2 :(得分:10)

感谢Boldr http://boldr.net/create-a-web-app-with-node 不得不将以下代码添加到mustache.js

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

不完全确定它在做什么,但它有效。现在会尝试理解它。

答案 3 :(得分:-2)

看看A Gentle Introduction to Node.js

  

要修复我打开了mustache.js并在创建Mustache时删除了var声明