3 に答える
Jade は KnockoutJS と完全に互換性があり、実際には両方を使用した結果の構文を好みます。
label Description
input(data-bind="value: description")
とてもきれいで、以前はうまく使用していました。
まあ、私は実際にはノックアウトの男でも熟練したジェイドのユーザーでもありませんが、おそらく実行可能です.
私にとって適切な解決策は、Hogan でコンパイルされた口ひげテンプレートを使用し、バックボーンまたはスパインのいずれかを MVVM として使用することです。ただし、最近はノードの代わりに多くのRubyを実行しており、クライアント側でEcoを使用していることに気付きました.Erbとまったく同じ構文を使用しているため、テンプレートは口ひげと同じように両側で再利用できますが、オーバーヘッドははるかに低く、レンダリングは、まったく異なるテンプレート言語をコンパイルするよりも少し高速です。
しかし、私が言ったように、それは選択の問題であり、あなたのチームの人々があなたが使用するツールをどのように効率的に使えるようになるかの問題です. そのため、Jade や Haml などの多くのものを抽象化するテンプレート言語を避ける傾向があります。これは、テンプレート固有のコードの小さなセットをラップするのではなく、HTML のみを実行する人にとってオーバーヘッドが高すぎる可能性があるためです (当時はまれであったとしても)。 HTML周り。
JADE に基づいて Express チームによってビルドされたリアルタイム テンプレートである nodestream を見ることができます。私はswigに基づいて同様のものを構築しています。