如何有效地声明AngularJS模块依赖项?

时间:2016-01-11 20:15:07

标签: javascript angularjs dependency-injection module dependencies

我有一个Angular应用程序,它会变得非常大。为了清楚起见,我选择将其拆分为不同的模块,每个模块对应一个应用区域。我将与区域严格相关的组件添加到相应的模块,并将组件共享到另一个公共模块。所有这些模块又由一个独特的主模块加载,这取决于所有这些模块,基本上代表了整个应用程序。

现在,事实证明许多领域需要国际化,因此每个领域的模块依次依赖于翻译模块来使其字符串本地化。但是,当我通过主要"聚合器"模块翻译模块最终被加载多次,实际只使用了一个实例。

例如,我们说我的申请有以下几个方面:

  • 主信息中心
  • 设置
  • 文档
  • 支持

相应的模块声明如下:

angular.module('app.mainDashboard', [translate]);
angular.module('app.settings', [translate]);
angular.module('app.settings', [translate]);
angular.module('app.support', [translate]);

主模块如下所示:

angular.module('app.main', [app.mainDashboard, app.settings, app.settings, app.support]);

这种方法绝对有效,但我敢打赌,如果不重复加载相同的依赖关系,有更好的方法可以实现相同的结果。或许我的初始模块拆分方法本身就很尴尬,反过来也会导致另一个不方便。

0 个答案:

没有答案