10

現在、従来のアプリケーションと、AngularJSを使用して記述されたいくつかの動的な部分を組み合わせています。サーバーからモジュールにいくつかの構成を提供したいと思います。この場合、アプリケーションの「ベース」URLを構成したいと思います。すべてのテンプレートは特定の場所にあり、この場所はサーバーによって決定されます。

だから私はこのようなことを試みました:

angularForm.config(
 function($routeProvider, TemplateLocator) {
    $routeProvider.when('/', {
        controller : TestController,
        templateUrl : TemplateLocator.getTemplate('FormOuterContainer')
 });
});

サーバーで:

<script type="text/javascript">
 angular.module('BoekingsModule.config', []).provider('TemplateLocator', function() {
        this.$get = function() {
            return // something
        }

        this.getTemplate = function(name) { return 'location...'; }
    });
 </script>

しかし、これが正しい方法かどうかはわかりません。つまり、モジュール自体を変更せずに、モジュールに(外部)構成を提供するにはどうすればよいですか?

4

2 に答える 2

4

あなたができることがいくつかあります

  1. サーバー上のjs内の場所をレンダリングします。

    プロ:リクエストが少ない->パフォーマンスが向上する(通常)

    短所

    • サーバー側のレンダリングをSPAと組み合わせると、システムがより複雑になり、メンテナンスコストが高くなります。
    • サーバー側のレンダリングを混在させたい場合は、jsファイルを適切に圧縮するのが難しく、htmlにjsを埋め込むのも醜いです。
  2. テンプレートの場所をサービスに抽出します。

    このサービスから、$ resourceを使用して、サーバーからjson形式でデータをフェッチできます。これにより、作業が簡単になりますが、Webサーバーの負荷が増える可能性もあります。

于 2013-03-02T07:55:08.217 に答える
0

久しぶりです。この投稿をすっかり忘れてしまいました。

したがって、最終的には別のアプローチを使用する方がよいと判断しました。iweinが言ったように、SPAをサーバー側のレンダリングと組み合わせると、アプリケーションがはるかに複雑になります。したがって、SPAパーツを別のアプリケーションに抽出しました。このアプリケーションは(私の場合は)JSPから参照されます。

モジュールに追加の構成が必要な場合は、RESTAPIを使用して取得します。このようにして、アプリケーションのSPA部分は、サーバー側のレンダリングされた部分から完全に分離されます。

于 2014-09-15T13:27:17.410 に答える