0

require.jsとtext.jsを使用して、多数のテンプレートを含むテンプレートファイルをロードしています<script>

例:/scripts/templates/comments.html

<script type="text/template" id="js-comment-reply-tmpl">
// html in here
</script>

<script type="text/template" id="js-comment-edit-tmpl">
// html in here
</script>

また、アンダースコアのテンプレートシステム(または同様のjsマイクロテンプレートシステム)を使用しているため、このファイル自体が文字列として読み込まれます。そのファイル内から各テンプレートを取得するスマートな方法はありますか?たとえば$(template).html()、jQueryでラップしてから、find()何かを実行しますか?ただし、基本的に最初にDOMに配置する必要があるため、おそらく地獄のように遅くなり、text.jsをロードせずに、最初にDOMから取り出すこともできます。

私の他の考えは、それらをそれぞれ独自のファイルに分割することですが、それはリクエスト時に遅くなります(ただし、ノードでr.jsを使用して、最終的にこれをすべて最小化することになりますが、そうはなりません案件)。

例:/scripts/templates/comment_reply.html

<script type="text/template" id="js-comment-reply-tmpl">
// html in here
</script>

例:/scripts/templates/comment_edit.html//ここにhtml

これを行うための最良/最も効率的な方法は何ですか?

4

1 に答える 1

0

各テンプレートを独自のファイルに移動し、それらをすべて個別にロードすることをお勧めします。そうすることの利点のいくつかは次のとおりです。

  • メンテナンスが容易-プロジェクト内のテンプレートの検索は、すべてが独自の名前を持っていると簡単になります。また、開発者全員が同じファイルを編集していない場合は、ソース管理の競合による煩わしさが軽減されます。

  • 移植性-サーバーで使用できるテンプレートシステム(Mustacheなど)を使用することになった場合、テンプレートはフロントエンドとバックエンドの間ですでに簡単に共有できます。

すでに強調した主な欠点は追加のリクエストですが、r.jsを使用してスクリプトを作成せずに本番環境に移行することは絶対に避けてください。したがって、これは問題にはなりません。

于 2013-01-02T12:15:58.710 に答える