是否有助于减少加载时间?(例如只将当前模块加载到客户端设备?)
我的理解是......
答案 0 :(得分:8)
Angular支持延迟加载模块。这样,您可以将应用程序拆分为仅按需加载的部分。
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
},
另见https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
<强>更新
虽然延迟加载并不会减少加载时间,但是在开始页面上需要一切都是恕我直言,而不是几乎100%的Angular2应用程序中的情况,它减少了初始加载的时间并延迟了加载时间到实际需要模块的时候。 Angular还支持预加载功能,可以在需要之前加载延迟加载的模块,但仍然无法在初始加载时加载它们。
它会增加服务器和客户端之间的请求数量吗?
请求数量会更高,但第一个请求加载的数据量会更少。主要思想是缩短用户获得第一个屏幕的时间。如果一个应用程序包含一些使用频繁而其他部分非常少的部分,那么在实际使用之前不加载很少使用的部分通常是个好主意 - 这意味着&#34;懒惰&#34;或者&#34;按需提供&#34; - 仅在实际需要时。
这会增加代码的复杂性。(因为你需要照顾
如果您希望充分利用延迟加载,则需要考虑您的体系结构。这并不意味着代码需要变得更加复杂。您只需要决定将组件,指令和服务放入哪个模块。
导入和导出模块,并特别注意路由)
我在这里看不到太多区别,因为你应该将你的应用程序分成不同的模块(例如每个功能),即使它们没有延迟加载。
答案 1 :(得分:2)
我不认为它的角度具体问题。如果你谷歌为他们使用模块,你有很多答案,例如看看这里:modules
现在简短回答你的问题: