Javascript 在angular中使用多个模块的好处是什么?
我熟悉Angular Js,最近我看到在一些项目中,在主模块中创建并组装了多个Angular模块 代码看起来像Javascript 在angular中使用多个模块的好处是什么?,javascript,angularjs,module,angular-ui-router,Javascript,Angularjs,Module,Angular Ui Router,我熟悉Angular Js,最近我看到在一些项目中,在主模块中创建并组装了多个Angular模块 代码看起来像 angular.module("main",['main.sub1','main.sub2','main.sub2']) angular.module("main.sub1",[]) angular.module("main.sub2",[]) angular.module("main.sub3",[]) 我的问题是 什么时候可以采用这种拆分模块的方式 它如何有用 这是否会影响
angular.module("main",['main.sub1','main.sub2','main.sub2'])
angular.module("main.sub1",[])
angular.module("main.sub2",[])
angular.module("main.sub3",[])
我的问题是
kendo.all.min.js
脚本,缩小后的脚本大小为1.7MB!现在,强制该站点的所有访问者下载1.7MB的繁重脚本有意义吗
3.这是否会影响路由[routeProvider/stateProvider](由于模块的定义不同,我可以放置路由提供程序还是状态提供程序
(每个单独适用)
对。理想情况下,您的应用程序将具有不同的路由/状态配置,因此每个应用程序都有自己的app.config()
,这意味着您可以使用共享模块为每个应用程序定义单独的路由。根据我的经验,您希望进入自己模块的主要内容是服务和指令,而不是应用程序路由
4.如果我在子模块中注入依赖项,默认情况下它们是否会注入主模块
对。如果将依赖项
X
注入模块a
,并且模块a
将被另一个模块B
使用,则B
也将继承依赖项X模块是Angular应用程序功能的核心。模块包含我们需要的所有代码
为我们的特定应用程序编写,因此,往往会以一种整体的方式发展壮大。尽管这种趋势
还不错(模块是减少全局范围噪声的一个很好的方法),我们可以划分模块
关于何时创建模块以及何时嵌套功能,有几种不同的观点
在全局模块中。以下两种方法都是通过
模块:
1。何时采用这种方式拆分模块?
当您想按功能或路由分离创建应用程序逻辑时,需要这样做,因为当您的代码在模块上分离时,很容易理解、测试等。模块模式的角度模块系统实现
模块是任何健壮应用程序体系结构的一个组成部分,通常有助于保持项目的代码单元干净地分离和组织
2.它有什么用处?
首先,对于来自面向对象背景的开发人员来说,它比真正的封装思想要干净得多,至少从JavaScript的角度来看是这样
- 你的另一半是团队中的新开发人员,他被要求修复你应用程序中众多屏幕之一的错误
- 开发人员在目录结构中进行筛选,看到所有控制器、模型和服务组织得井井有条。不幸的是,它并没有告诉他/她哪些对象是相关的或相互依赖的
- 如果开发人员希望在某个时候重用某些代码,他们需要从一堆不同的文件夹中收集文件,并且总是会忘记其他文件夹中的代码
3.这是否会影响路由[routeProvider/stateProvider](由于模块的定义不同,我可以分别为每个模块放置路由提供程序或状态提供程序)
我们可以使用的另一种分解应用程序的方法是按路径划分模块。这种崩溃
允许我们编写专注于每个路由的功能的独立测试。通过can总线进行模块化
根据项目的不同,使其更有意义;它允许我们有效地划分我们的功能
当我们处理许多独立的路线时。
例如:
angular.module('myApp.home', []);
angular.module('myApp.login', []);
angular.module('myApp.account', []);
angular.module('myApp', [
'myApp.home',
'myApp.login',
'myApp.account'
]);
当我们处理大量路由时,这种模块化特别有意义
和/或当路线之间没有太多交叉时
4.如果我在子模块中注入依赖项,默认情况下它们会注入主模块吗?
简言之:是。:) 我也有这个问题。除此之外,还有一件事需要补充,与性能、内存管理或垃圾收集相比,还有其他优势吗(例如,当用户从一个子应用移动到另一个子应用时,等等)?如果是,怎么做?我也是