2012-04-27 8 views
5

私はMustacheがExpressで正しく動作するようにしようとしていますが、推測できるように、私は問題を抱えています。Node.js + Express - Mustacheパーシャルはどのように動作するのですか?

次の行は、美しいときれいな口ひげを初期化します。変数は期待どおりにレンダリングされます。

ただし、ミックスに部分音をスローすると、問題が発生しやすくなります。 Mustacheでは、ここではヘッダビュー/ partialを呼び出す必要があります。

{{> header}} 

しかし、何も起こりません。 :/私は部分的に直接提供する場合でも、口ひげはそれをレンダリングすることができません。

app.get('/', function(req, res) { 
    res.render('welcome', { 
     partials: { 
      header: '<h1>Header</h1>'   
     } 
    }); 
}); 

だから、パーシャルはまったく動作していないようです。コールをレンダリングに直接提供する場合パーシャルレンダリングた後(上記参照)

http://bitdrift.com/post/2376383378/using-mustache-templates-in-express

、それはまだ/ビューに直接パーシャルのレンダリングに失敗します。私が手をパーシャルは多少の作業だ1つのハックを見つけましたレイアウト:

Behold, the header 
{{> header}} 
<p>Let's move to more important stuff...</p> 

ヘッダビューは次のようになります:

レイアウトは次のようになります

<h1>Header</h1> 

私はあなたの./public/js/libs/mustache.jsに正確に何があるかわからないんだけど

答えて

2

hogan-expressの最新バージョンで動作するように管理しました。

https://github.com/vol4ok/hogan-express

必要とされるすべては、ホーガン-Expressをインストールし、特急のテンプレートエンジンとしてそれを使用することです。ハッキングやチューニングは必要ありません。

+0

あなたの遭遇や遭遇した問題に関するご意見はありますか? )(私はupvote) – electblake

+1

私がしたのは、hogan-expressをインストールし、それをexpressのテンプレートエンジンとして使用することだけでした。 :)ハッキングやチューニングは必要ありません。 – crappish

0

... ExpressはちょうどOK、それ自体でビューを読み込むことができますが、それは口ひげのパーシャルを処理する方法を知りません...私はnpmのひげそりモジュール+テンプレートオブジェクトyou linked toのバリエーションを使用します。

いずれにしても、app.registerに渡すオブジェクトは、ある時点でmustache.to_html(template, locals, partials)を呼び出す必要があります。

口髭のto_htmlの3番目の引数としてpartialsオブジェクトを渡す必要があります。

関連する問題