我正在寻找使用Mustachejs
1> 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);
答案 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声明