是否有助于减少加载时间?(例如仅将当前模块加载到客户端设备?)
我的理解是……
- 它会增加服务器和客户端之间的请求数量吗?
- 它会增加你的代码的复杂性。(因为你需要照顾
- 导入和导出模块,并且在路由中也要特别注意)
是否有助于减少加载时间?(例如仅将当前模块加载到客户端设备?)
我的理解是……
Angular 支持延迟加载模块。通过这种方式,您可以将应用程序拆分为仅按需加载的部分。
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
},
另请参阅https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
更新
虽然延迟加载不会减少在开始页面需要所有内容时的加载时间,恕我直言,几乎 100% 的 Angular2 应用程序都不是这种情况,但它减少了初始加载的时间,并将加载时间延迟到模块的加载时间。实际需要。Angular 还支持预加载功能,以便在需要延迟加载模块之前加载它们,但仍然不会在初始加载时加载它们。
它会增加服务器和客户端之间的请求数量吗?
请求的数量会更高,但第一个请求加载的数据量会更少。主要思想是减少用户获得第一个屏幕渲染的时间。如果一个应用程序由一些被大量使用而另一些很少使用的部分组成,那么在实际使用之前不加载很少使用的部分通常是一个好主意——这意味着“懒惰”或“按需”——只有在实际需要时才加载。
它会增加你的代码的复杂性。(因为你需要照顾
如果您想充分利用延迟加载,您将需要考虑您的架构。这并不意味着代码需要变得更复杂。您只需要决定将组件、指令和服务放入哪个模块。
导入和导出模块,并且在路由中也要特别注意)
我在这里没有看到太大的区别,因为无论如何您都应该将应用程序拆分为不同的模块(例如每个功能),即使它们不是延迟加载的。
我不认为它的角度特定问题。如果你用谷歌搜索模块,有很多答案为什么你应该使用模块,例如看看这里:模块
现在简短回答您的问题: