它有助于减少加载时间吗?(例如只将当前模块加载到客户端设备中?)
我的理解是...
- 它会增加服务器和客户端之间的请求次数吗?
- 它会增加代码的复杂性。(因为你需要处理导入和导出模块,并在路由方面特别注意)
它有助于减少加载时间吗?(例如只将当前模块加载到客户端设备中?)
我的理解是...
Angular支持模块的惰性加载。这样,您可以将应用程序拆分为仅在需要时加载的部分。
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
},
另请参阅https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing
更新
虽然懒加载不会减少在起始页面上需要加载的所有内容(在我看来,这种情况在近乎100%的Angular2应用程序中都不是这种情况),但它可以减少初始加载时间,并将加载时间延迟到实际需要模块时。 Angular还支持预加载功能,可以在需要之前加载懒加载的模块,但仍不会在初始加载时加载它们。
这会增加服务器和客户端之间的请求数吗?
请求的数量会更多,但随着第一个请求加载的数据量的减少,用户获得第一个屏幕渲染所需时间将会减少。如果应用程序由一些部分组成,其中一些部分被广泛使用而其他部分则很少使用,那么通常最好不要在实际使用之前加载很少使用的部分-这意味着仅在需要时才进行“懒加载”或“按需加载”。
这会增加代码的复杂性吗(因为你需要关注
如果您想充分利用懒加载的优点,就需要考虑应用程序架构。这并不意味着代码需要变得更加复杂。您只需要决定将组件、指令和服务放入哪个模块中。
导入和导出模块,并在路由方面特别注意)
我在这里没有看到太大的区别,因为无论是否懒加载,您都应该将应用程序拆分为不同的模块(例如每个功能一个模块)。