私のプロジェクトでは、Angular サービスを異なるファイルに分割しました。各ファイル/サービスは、「com.mysite.services
」という名前の共通モジュールに属している必要があります。次に例を示します。
- ServiceA.js
- ServiceB.js
- ServiceC.js
...等々
ただし、次のように定義することにより:
angular.module('com.mysite.services', []).
service('ServiceA', function()
{
});
各ファイルのモジュールを上書きします。この問題を解決するために、定義されていない場合はモジュールを作成し、定義されている場合はモジュールへの参照を返すラッパー関数を定義しました。
function angular_module(name, deps)
{
var m;
try
{
m = angular.module(name);
}
catch (e)
{
m = angular.module(name, deps || []);
}
return m;
};
したがって、「。」を簡単に置き換えることができます。宣言に「_」を使用:
angular_module('com.mysite.services', []).
service('ServiceA', function()
{
});
これで問題は解決しましたが、私の質問は、Angular っぽいソリューションを優先してラッパーを回避する方法はありますか? (それはとてもばかげているようです:P)