代码看起来像.
angular.module("main",['main.sub1','main.sub2','main.sub2']) angular.module("main.sub1",[]) angular.module("main.sub2",[]) angular.module("main.sub3",[])
我的问题是
>什么时候接近这种分裂模块的方式?
>如何有用?
>这是否影响路由[routeProvider / stateProvider](因为模块的定义不同,我可以单独为每个路由提供者或状态提供者)
>如果我在子模块中注入一个依赖关系,默认情况下是注入主模块?
我读了几个博客,但我无法得到一个明确的看法.
请你引导我通过
解决方法
1.When to approach such fashion of splitting modules ?
最好永远.但是,除非您有多个应用程序使用完全相同的代码,否则您不需要这样做,也许您在几个应用程序中处理身份验证的方式是相同的,将通用代码放入服务中是有意义的该服务作为自己的模块.这提供了代码重用,我们都知道代码重用是好的.
2.How it is useful ?
再次,可重用性是这里的关键词.你不想去写重复的代码.代码复制只是简单的错误,导致更昂贵的维护和更容易出错的代码.
另一个优点是模块化您的应用程序明确地概述了应用程序的依赖关系,并分离了应用程序不同部分的责任.代码重用和分离问题是编写可维护代码的基本做法.
将应用程序分成模块的另一个原因是性能.现在我正在开发一个应用程序(网上商店),它由两个主要部分组成:一个部分(应用程序),一般用户/买方/卖方,另一个应用程序为管理员.现在用户应用程序需要一些脚本/库,管理员应用程序没有,反之亦然.例如,管理应用程序使用kendo网格,需要一个kendo.all.min.js脚本,当最小化为1.7MB时!现在强制所有访问者访问该站点是否有意义下载重1.7M的脚本?
3.Does this affect routing[routeProvider/stateProvider] (since modules are defined differently can i place route provider or state provider
for each separately)
是.理想情况下,您的应用程序将具有不同的路由/状态配置,因此每个应用程序都有自己的app.config(),这意味着您可以使用共享模块为每个应用程序定义单独的路由.根据我的经验,您想要迁移到自己的模块中的主要内容是服务和指令,而不是应用程序路由.
4.If i inject a dependency in sub modules are they by default injected in main modules ?
是.如果将依赖关系X注入到模块A中,并且模块A将被另一个模块B使用,则B也将继承依赖关系X.