1

私は、Spring Roo REST API バックエンドと Dojo シングルページ クライアント アプリを使用する Web アプリケーションに取り組んでいます。Spring Roo はすぐに使用できる (Web MVC を使用した) 便利な管理インターフェースを提供するので、管理業務のためにアクセスできるようにしておきたいと思います。

しかし、私は Dojo アプリをサーバー・アプリケーションからできるだけ分離したいと考えています。サーバーは、新しいクライアント アプリケーションの開発が期待されるプラットフォームであるため、「公式」のクライアント Web アプリを分離して開発したいと考えています。

アプリケーション コードを構成するための最良の (または 1 つでも良い) 方法は何ですか? サーバーを API および管理インターフェースとしてそのままにしておくのは簡単ですが、Dojo JS はどこにあるのでしょうか? Spring webapp ディレクトリにある場合は問題なく動作しますが、構造がより複雑になるか、他の場所に移動するとすぐに複雑になります (Spring URL マッピングは、私にはまだ非常に不透明です)。理想的には、開発マシンでローカルにホストすることができます。これにより、すべてのクロスドメイン JS の問題も発生します。

4

1 に答える 1

1

Dojo ツールキットの新しいバージョンが登場して以来、同一ドメインとクロスドメインの JavaScript モジュールを実際に区別する必要はありません。Dojo ローダーを使用すると、どこからでもモジュールを取り込むことができます。

com.yourmoduleたとえば、独自の名前空間を作成し、構成でその場所を参照することをお勧めします。例えば; js アプリケーション用のホスト「arbitrary.domain」を作成し、そこの「/com/yourmodule/」フォルダーに配置できます。com.yourmodule.application には、アプリのブートストラップと初期化が含まれています。この ofc は、ファイル '/com/yourmodule/application.js' にあります。

最初の require (または dojoConfig 経由) では、名前空間の場所を指すパッケージ宣言を指定します。

require({ packages : [
    { 
       name: 'com.yourmodule', 
       location: 'http://arbitrary.domain/com/yourmodule'
    }
]}, [ "com/yourmodule/application" ], function(Application) {

    window.application = new Application();

});
于 2012-09-22T19:22:07.433 に答える