gpt4 book ai didi

javascript - 以 Angular 使用多个模块有什么好处?

转载 作者:可可西里 更新时间:2023-11-01 02:01:55 24 4
gpt4 key购买 nike

我对Angular Js很熟悉,最近我看到在一些项目中创建多个 Angular 模块并在主模块中组装。

代码看起来像。

angular.module("main",['main.sub1','main.sub2','main.sub2'])

angular.module("main.sub1",[])

angular.module("main.sub2",[])

angular.module("main.sub3",[])

我的问题是

  1. 何时采用这种拆分模块的方式?
  2. 它有什么用?
  3. 这会影响路由 [routeProvider/stateProvider](因为模块的定义不同,我可以为每个单独放置路由提供者或状态提供者)
  4. 如果我在子模块中注入(inject)依赖项,它们是否默认注入(inject)到主模块中?

我读了一些博客,但我无法获得清晰的认识。

你能指导我完成吗。

最佳答案

1.When to approach such fashion of splitting modules ?

最好是总是。但是你真的不需要这样做,除非你有多个应用程序使用完全相同的代码,也许你在几个应用程序中处理身份验证的方式是相同的,将通用代码放入服务并具有该服务作为自己的模块。这提供了代码重用,我们都知道代码重用是好的。

2.How it is useful ?

再次重申,可重用性是这里的关键词。您不想到处写重复代码。代码重复是完全错误的,会导致更昂贵的维护和更容易出错的代码。另一个优点是,模块化您的应用程序明确概述了应用程序的依赖关系,并分离了应用程序不同部分的职责。代码重用和关注点分离是编写可维护代码的基本实践。

将您的应用分成模块的另一个原因是性能。现在我正在开发一个应用程序(网上商店),它由两个主要部分组成:一个部分(应用程序)供普通用户/买家/卖家使用,另一个应用程序供管理员使用。现在用户应用程序需要一些管理应用程序不需要的脚本/库,反之亦然。例如,管理应用程序使用一个剑道网格,它需要一个 kendo.all.min.js 脚本,缩小后为 1.7MB!现在强制该站点的所有访问者下载 1.7 MB 的沉重脚本是否有意义?

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 注入(inject)到模块 A 中,并且模块 A 将被另一个模块 B 使用,那么B 也将继承依赖项 X

关于javascript - 以 Angular 使用多个模块有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com