пример mustache.js на стороне сервера с использованием node.js - PullRequest
28 голосов
/ 22 марта 2010

Я ищу пример использования Mustachejs с Nodejs

, вот мой пример, но он не работает.Mustache не определено.Я использую Мустачей из мастер ветки.

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 ]

31 голосов
/ 12 ноября 2011

Я получил ваш пример работы, установив усы через npm, используя правильный синтаксис require и (как сказал Дерек) используя усы как объект, а не функцию

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); 
17 голосов
/ 06 ноября 2010

Ваш пример почти верен. Усы - это объект, а не функция, поэтому он не нуждается в (). Переписано как

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

сделает его счастливее.

10 голосов
/ 22 марта 2010

Благодаря 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];

Не совсем уверен, что он делает, но работает. Постараюсь понять это сейчас.

0 голосов
/ 11 января 2012

Посмотрите на Нежное введение в Node.js

Чтобы исправить, я открыл mustache.js и удалил объявление var при создании Mustache

...