0

Jade をデフォルトのテンプレートとして backbone+express を試しています。

こちらのチュートリアルに従ってください(素晴らしいチュートリアル)

錯乱:

バックボーンに関する多くのチュートリアルでは、アンダースコア テンプレートまたはハンドルバーを使用して、ビューをコンパイルおよびレンダリングします。

デフォルトのテンプレート エンジンとして Jade を使用していました。私の質問は、Jade を使用している場合、Handlebar やアンダースコアなどの別のテンプレートを使用する必要があるかどうかです。そうでない場合、どうすればジェイドで次のことを達成できますか

render: function() {
  var template = $("#booktemplate").html();
  var compiled = Handlebars.compile(template);
  var html = compiled(this.model.attributes);
  this.$el.html(html);
  return this;
},

私の仮定: Jade とハンドル バーはどちらもテンプレート システムであり、代わりに使用できると考えています。そうですか?

ジェイドとハンドルバーの両方を使用してみませんか? 2 つの異なる構文を使用したくない

#{} from jade / {{}} from Handlebar
4

1 に答える 1

3

ブラウザで Jade を使用することは、実際には簡単なことではありません。Jade はサーバー側用に構築されており、ブラウザーをサポートしていません。

これが、2 つのテンプレート エンジンを使用しているユーザーをよく見かける理由です (Jade を使用している場合)。ブラウザで動作するテンプレート エンジンがサーバー上で動作する必要があるため、これは簡単です。ただし、その逆が常に正しいとは限りません。

ここで注意すべき点は、テンプレート エンジンの使用を開始する前に、対象とする環境がサポートされていることを確認することです。エンジンに関しては多くのオプションがあり、このサイトは必要なフィッティングを見つけるのに役立ちます: http://garann.github.io/template-chooser/

本当にジェイドが好きなら、Browserifyのようなスタックといくつかのミドルウェア (Jadeify)を使用して、プリコンパイル後に動作させることができます。ただし、browserify のコンセプトを受け入れ、すべてをプリコンパイルすることを受け入れる必要があります。詳細については、この関連する質問を確認できます: https://stackoverflow.com/a/6623561/1024223

于 2013-10-18T14:20:38.547 に答える