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