它是否有助于减少加载时间?(例如只将当前模块加载到客户端的设备?)
我的理解是......
它会增加服务器和客户端之间的请求数量吗?
它会增加代码的复杂性.(因为你需要照顾
导入和导出模块,并特别注意路由)
Günter Zöchb.. 8
Angular支持延迟加载模块.这样,您可以将应用程序拆分为仅按需加载的部分.
{ path: 'admin', loadChildren: 'app/admin/admin.module#AdminModule', },
另请参见https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
更新
虽然延迟加载不会减少加载时间,但是在开始页面上需要一切都是恕我直言,而不是几乎100%的Angular2应用程序中的情况,它减少了初始加载的时间并将加载时间延迟到模块是实际需要.Angular还支持预加载功能,以便在需要之前加载延迟加载的模块,但仍然不会在初始加载时加载它们.
它会增加服务器和客户端之间的请求数量吗?
请求的数量会更多,但第一个请求加载的数据量会更少.主要思想是缩短用户获得第一个屏幕的时间.如果一个应用程序包含一些被大量使用而其他部分很少使用的部分,那么在实际使用之前不加载很少使用的部分通常是个好主意 - 这意味着"懒惰"或"按需" - 仅在实际需要时才使用.
它会增加代码的复杂性.(因为你需要照顾
如果您想获得延迟加载的全部好处,您需要考虑您的架构.这并不意味着代码需要变得更加复杂.您只需要决定将组件,指令和服务放入哪个模块.
导入和导出模块,并特别注意路由)
我在这里看不出太大的区别,因为你应该将应用程序分成不同的模块(例如每个功能),即使它们没有延迟加载.
Angular支持延迟加载模块.这样,您可以将应用程序拆分为仅按需加载的部分.
{ path: 'admin', loadChildren: 'app/admin/admin.module#AdminModule', },
另请参见https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
更新
虽然延迟加载不会减少加载时间,但是在开始页面上需要一切都是恕我直言,而不是几乎100%的Angular2应用程序中的情况,它减少了初始加载的时间并将加载时间延迟到模块是实际需要.Angular还支持预加载功能,以便在需要之前加载延迟加载的模块,但仍然不会在初始加载时加载它们.
它会增加服务器和客户端之间的请求数量吗?
请求的数量会更多,但第一个请求加载的数据量会更少.主要思想是缩短用户获得第一个屏幕的时间.如果一个应用程序包含一些被大量使用而其他部分很少使用的部分,那么在实际使用之前不加载很少使用的部分通常是个好主意 - 这意味着"懒惰"或"按需" - 仅在实际需要时才使用.
它会增加代码的复杂性.(因为你需要照顾
如果您想获得延迟加载的全部好处,您需要考虑您的架构.这并不意味着代码需要变得更加复杂.您只需要决定将组件,指令和服务放入哪个模块.
导入和导出模块,并特别注意路由)
我在这里看不出太大的区别,因为你应该将应用程序分成不同的模块(例如每个功能),即使它们没有延迟加载.