Typed 和 Untyped 延迟加载模块之间的区别
Difference between Typed and Untyped lazy loading modules
请问Angular中这两种延迟加载模块的区别是什么:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
并且:
{
path:'',
loadChildren: () => MyModuleModule
}
我不知道这两种方法是否可以做同样的事情,或者是否存在任何性能或行为差异。
谢谢!
此语法:
{
path:'',
loadChildren: () => MyModuleModule
}
不会导致延迟加载模块。它直接引用 MyModuleModule
,因此当 Angular CLI 捆绑包时,它会将 MyModuleModule
与此代码所在的任何模块捆绑在一起。
如果您需要在路由层次结构中的特定位置专门加载功能模块的 child 路由,请使用此语法。
但请注意:我 在我在会议上所做的 "Angular Routing" 演讲中曾 使用 来介绍这一点。 Angular 团队的一名成员建议我 停止 覆盖它,因为在大多数情况下都应该使用延迟加载语法。
此语法:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
是否 导致延迟加载模块。模块名称是在字符串中定义的,因此它没有直接引用,也没有与它在其中定义的模块捆绑在一起。
请问Angular中这两种延迟加载模块的区别是什么:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
并且:
{
path:'',
loadChildren: () => MyModuleModule
}
我不知道这两种方法是否可以做同样的事情,或者是否存在任何性能或行为差异。
谢谢!
此语法:
{
path:'',
loadChildren: () => MyModuleModule
}
不会导致延迟加载模块。它直接引用 MyModuleModule
,因此当 Angular CLI 捆绑包时,它会将 MyModuleModule
与此代码所在的任何模块捆绑在一起。
如果您需要在路由层次结构中的特定位置专门加载功能模块的 child 路由,请使用此语法。
但请注意:我 在我在会议上所做的 "Angular Routing" 演讲中曾 使用 来介绍这一点。 Angular 团队的一名成员建议我 停止 覆盖它,因为在大多数情况下都应该使用延迟加载语法。
此语法:
{
path:'',
loadChildren: './mymodule.module#MyModule'
}
是否 导致延迟加载模块。模块名称是在字符串中定义的,因此它没有直接引用,也没有与它在其中定义的模块捆绑在一起。