質問

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

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

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

ありがとう

役に立ちましたか?

解決

私は最初のエンタープライズレベルのバックボーンアプリの途中です。私は現在、テンプレートに組み込まれたアンダースコアを使用しています。なぜなら、私が学んだように始めたときはアンダースコアであったからです。私は必ずしもそれらに問題があるわけではありません。すべてのテンプレートソリューションは非常に簡単です。

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

私はその短い構文のために口ひげが好きです。きれいに見えます。しかし、私は切り替えれば、私はハンドルバーを持って行くつもりだと思います。

ハンドルバーには、同じ短い構文に加えて、カスタムヘルパーメソッドやテンプレート内のオブジェクトコンテキストの設定など、他の多くの機能があります。見てみな ここ. 。プロジェクトの開始時にハンドルバーについて知っていたら、おそらく確かにジャンプしたでしょう。

他の人が言及したように、別の依存関係を追加することについてはあまり心配しません。正しく完了したバックボーンアプリは、とにかく速く速く実行されます。 :d

他に質問がある場合はお知らせください。バックボーンを本当に楽しんでいるので、タグ付きの投稿を見ようとしています。しかし、真剣に。ハンドルバーは合法に見えます。

編集:

また、ハンドルバーのドキュメントは、アンダースコアよりもはるかに合法に見えると付け加えました...

他のヒント

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

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

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

Djangoテンプレートが最初にブロックを解析する場合、それは {{ }} JSを書く前にブロックします。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top