15

AngularJS で大規模なプロジェクトに取り組んでいると、コードを機能別に整理するのが好きであることがわかりました。
つまり、認識可能な機能 X がある場合 (特に再利用可能な場合)、ディレクトリ X を作成し、その機能に属するすべてのコントローラー、サービス、およびその他の部分をそこに配置します。また、X という新しいモジュールを宣言し、ディレクトリ X 内のすべてをそのモジュールに割り当てます。

ディレクトリ構造は次のようになります。

scripts/
  app.js
  controllers/
  services/
  directives/
  filters/
  X/
    controllers/
    services/
    directives/
    filters/

app.jsには、メイン モジュールの宣言があります

angular.module('myApp', ['X']);

X/ のすべてのコントローラーなどはモジュール 'X' に属しています。つまり、これらのファイルで次のようにモジュール 'X' を取得します。

var X = angular.module('X');

モジュール「X」を宣言する場所がわかりません。

私が持っていたいくつかのアイデア:

  • コントローラー/サービス/...の1つで宣言し、他のコントローラーなどでフェッチすることもできますが、そのコントローラー/サービス/...を選択するロジックが見当たらないため、正しく聞こえません。また、他の前に index.html に含めるように注意する必要があります。私はこの考えが悪いと思います。
  • app.js に宣言を入れることができるので、app.js は以前のアイデアよりも
    angular.module('myApp', ['X']); angular.module('X', [/*some dependencies could go here*/]);
    このアイデアのが優れているように見えますが、モジュール宣言がディレクトリ X の外にあるのは好きではありません。
  • ディレクトリ X/ にファイル main.js を作成し、その中にモジュール X の宣言を入れます。ディレクトリ X/ の他のファイルの前に、このファイルを index.html に含めるように注意する必要があります。
    私はこのソリューションが一番好きです。

これを行うより良い方法はありますか?

4

1 に答える 1