web-dev-qa-db-ja.com

Backbone.jsで口ひげを使用することの長所/短所は何ですか?

勉強中です backbone.js のために Rails 3私が取り組んでいるアプリケーション。バックボーンはunderscoreを使用します。これには、独自のテンプレートエンジンが組み込まれていると思います。

私は口ひげについて良いことを読みましたが、アンダースコアの組み込みテンプレートエンジンの代わりにそれを使用することを検討すべきかどうか疑問に思っていましたか?

あなたの考えは何ですか?

ありがとう

25
cbmeeks

私は最初のエンタープライズレベルのバックボーンアプリのほぼ半分を使用しています。私が学んだ方法がアンダースコアであったので、私は現在、テンプレートに組み込まれたアンダースコアを使用しています。私は必ずしもそれらに問題はありません。すべてのテンプレートソリューションは非常に簡単です。

それ以来、他のいくつかのソリューションを検討し、切り替えを検討していますが、それは他のソリューションのいくつかがよりクリーンに見えると思うからです。また、一部のソリューションには、もう少し機能があります。

構文が短いので口ひげが好きです。きれいに見えます。しかし、私が切り替える場合は、Handlebars.jsを使用するつもりだと思います。

ハンドルバーには同じ短い構文に加えて、カスタムヘルパーメソッドやテンプレート内のオブジェクトコンテキストの設定など、他にもたくさんの機能があります。それをチェックしてください ここ 。プロジェクトの初めにハンドルバーについて知っていたら、きっとそれに飛びついたでしょう。

他の人が言っているように、別の依存関係を追加することについてはそれほど心配しません。正しく実行されたバックボーンアプリは、とにかく非常に高速に実行されます。 :D

他にご不明な点がございましたら、お気軽にお問い合わせください。私はバックボーンを本当に楽しんでいるので、タグ付けされた投稿を見ようとしています。しかし、真剣に。ハンドルバーは合法に見えます。

編集:

また、ハンドルバーのドキュメントはアンダースコアよりもはるかに正当に見えることを追加するつもりでした...

32
Mike

私が考えることができる最大の欠点は、依存関係がすでに行っていることを行うために、さらに別のライブラリを追加しているということです。構文が最大の懸念事項である場合、次のスニペットはアンダースコアに同様の構文を使用するように指示します。

_.templateSettings = {
  evaluate : /\{\[([\s\S]+?)\]\}/g,
  interpolate : /\{\{([\s\S]+?)\}\}/g
};
18
JaredMcAteer

質問はRailsに尋ねますが、タグ付けされていません。したがって、短所は、Djangoのテンプレートなどの口ひげのような構文を使用する言語と競合します。

Djangoテンプレートが最初にブロックを解析する場合、JSを書き込む前に、{{ }}ブロックを埋めようとします。

問題を解決するために{{}}ブロックを無視するverbatim Djangoテンプレートタグを使用していますが、デフォルトの<%=%>構文を使用してDjangoテンプレートエンジンで記述されたこれらのブロックを明示的にエスケープする必要はありません。