9

サーバー側とクライアント側のテンプレート化については理解できましたが、dust.js には少し戸惑いました。

クライアント側のテンプレート作成に Dust.js を使用するには、次の 3 つの手順が必要です。

  1. テンプレートに準拠する
  2. テンプレートを読み込む
  3. テンプレートをレンダリングする

右?

しかし、テンプレートはどこから来たのでしょうか? 私は2つの異なる方法を見ました:

 1. <script> template <script>
 2. <div> template </div>

...どちらもDOMにあります。どちらが正しい?

また、ajax を介してテンプレートを読み込むことができるため、テンプレートが DOM に表示されないことにも気付きましたが、その方法はわかりません。

また、私は現在 jade をエクスプレス ビュー エンジンとして使用しています。Dust.js に切り替える必要はありますか? 利点は何ですか?

4

2 に答える 2

12

これは、あなたの質問に答えることができる LinkedIn Dust JS wiki ページであり、非常に良い例があります: http://linkedin.github.com/dustjs/

しかし、ここであなたの質問に答えるには:

<script>はい、タグでページに追加できる JavaScript ファイルになるダスト テンプレートをコンパイルする必要があります。その後、 dust.renderメソッドを呼び出してテンプレートをレンダリングします。次に例を示します。

  1. テンプレート ファイルに次のコードを記述し、sample.tlとして保存します。

    <p>Hi {firstName} {lastName}</p>
    
  2. dustc sample.tlコマンド ラインでsample.tl を sample.jsにコンパイルするか、使用dust.compile("your_template_code", "template_name")してテンプレートをコンパイルし、出力を JavaScript ファイル (sample.js) に保存するか、daster.js を使用して nodejs でテンプレートを監視およびコンパイルします: https://github .com/dmix/dusterjs

  3. HTML に sample.js を追加します。

    <script type="text/javascript" src="sample.js"></script>
    

    これにより、テンプレートが Dust.cache にも登録されます。

  4. あなたのJavaScriptで:

    var your_json = {firstName:'James', lastName:'Smith'};
    
    dust.render('sample', your_json, function(err, out){
    
        your_dom_element.innerHTML = out;
    
    });
    

    上記のdust.render方法の結果は<p>Hi James Smith</p>

    したがって、3 つの引数を に渡す必要がありますdust.renderdust.render(template_name, json, callback)

于 2012-12-13T06:48:50.110 に答える
0

ウィキが言うように、クライアントまたはサーバーでダストを使用できます。クライアントで使用する場合は、(たとえば ajax 要求で) テンプレートを取得し、ブラウザーでレンダリングしてコンパイルする必要があります。ページにダスト スクリプト ファイルを含める必要があります。

一方、サーバーでダストを使用することもできます (rhino または nodejs を使用)。この場合、サーバーでテンプレートをコンパイルしてレンダリングし、ブラウザが html を受信できるようにします。

于 2012-12-06T14:33:41.807 に答える