我正在关注这个博客的 Lazy Lodaing a Module
一切都很好,除了它要求我为要加载的模块分配静态路径的部分。
模块的名称将取决于用户的选择,因为我可能有许多模块
如何在路由中将变量分配给 loadChildren 以及如何在路由之前创建此变量
{ path: 'lazy', loadChildren: 'lazy/lazy.module#LazyModule' }
我正在关注这个博客的 Lazy Lodaing a Module
一切都很好,除了它要求我为要加载的模块分配静态路径的部分。
模块的名称将取决于用户的选择,因为我可能有许多模块
如何在路由中将变量分配给 loadChildren 以及如何在路由之前创建此变量
{ path: 'lazy', loadChildren: 'lazy/lazy.module#LazyModule' }
如果您不使用 Ahead of Time 编译,您可以尝试将函数传递给loadChildren
:
{ path: 'lazy', loadChildren: () => 'lazy/lazy.module#' + dynamicModuleName }
One option is to define your custom module loader.
Another option is to use default exports. Since router uses the following code:
private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {
let [module, exportName] = path.split(_SEPARATOR);
if (exportName === undefined) {
exportName = 'default';
}
to load a module, you can export default module and don't pass any module name at all:
export default class MyModule {}