Mustache.js の Functions と初期化処理

実運用時は、data をヘルパー関数群を登録したオブジェクトから生成する ( Object.create(SomeObject) ) 感じかな。 と書きました。

なので実際に試して見ました。

上のコードの JS の部分を以下の内容に書き変えてください。 

      (function() {
        // 表示用変数のベースオブジェクト
        var base = Object.create(null);
        Object.defineProperties(base, {
          bold: {
            value: function() {
              // 入力値と、描画用関数が渡ってくる
              return function(text, render) {
                return ['<b>', render(text), '</b>'].join('');                                                                
              };
            }
          }
        });

        // テンプレートを読み込む
        var template = $('#sampleTpl').html();
        // 表示用変数を初期化する、base を元とする
        var data = Object.create(base);
        Object.defineProperty(data, 'msg', {
          value: 'hoge fuga piyo.'
        });
        // 書き出し
        var html = Mustache.to_html(template, data);
        $('#sandbox').html(html);
      })();

上記では一つのファイルで、 base data としましたが、実際は別ファイルなどで base オブジェクトを作ってあげて、それを使い回せばいいんじゃないかと思います。