web-dev-qa-db-ja.com

node.jsを使用したサーバー側のmustache.jsの例

MustachejsNodejsを使用した例を探しています

これが私の例ですが、機能していません。 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);
28
onecoder4u

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

あなたの例はほぼ正しいです。 Mustacheはオブジェクトであり、関数ではないため、()は必要ありません。次のように書き直されました

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

それを幸せにします。

18
Derek Gathright

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

何をしているのか正確にはわかりませんが、機能します。今それを理解しようとします。

10
onecoder4u