4

RequireJSが正常に実装されており、JSアプリを1つのファイルに最適化するGruntベースのビルドプロセスr.jsも正常に機能しています。私のすべてのアプリファイルは、効率的な本番デプロイメントのために1つに連結されています。

最適化では、r.jsすべてのテンプレートがメインアプリのJSファイルにも含まれます。これは、アプリの起動直後または直後に必要になるテンプレートにも最適です。表示されない可能性のあるビュー、またはアプリのライフサイクルのかなり後の方で表示される可能性のあるビューにはあまり適していません。これらのテンプレートを必要に応じて非同期でロードした方がよいでしょう。

だから私の質問はこれです、私のテンプレートがモノリシックアプリJSファイルに含まれ、RequireJSによって非同期にロードされることから任意に除外する方法はありますか、またはこれはサポートされていませんか?サポートされていない場合、非同期でテンプレートをロードするためにどのようなアプローチがありますか?

tplテキストテンプレートプラグインとを使用していますBackbone.Marionette。私のテンプレートの使用法は現在、次のようになっています。

define(function (require) {

    var Backbone = require("backbone");

    var tpl = require("tpl!./some-view-template.tpl");

    return Backbone.Marionette.ItemView.extend({
        template: tpl
    });
});
4

1 に答える 1

1

RequireJSモジュールで問題が解決すると思います。テンプレートだけを遅延ロードしようとしたことはありませんが、コンポーネント(ビュー、モデル、テンプレート)をRequireJSモジュールに確実に分割して遅延ロードすることができます。

このトピックに関するBenNadelのブログ投稿は、このトピックについて非常に徹底しています。 http://www.bennadel.com/blog/2404-Compiling-Optimizing-A-Subset-Of-A-RequireJS-Application.htm

于 2013-09-15T00:47:00.440 に答える