Angular中的LazyLoad模块

时间:2017-07-10 05:05:13

标签: angular lazy-loading ng-modules

我正在关注此博客 Lazy Lodaing a Module

除了要求我为要加载的模块分配静态路径之外,一切都很好。

模块的名称将取决于用户的选择,因为我可能有许多模块

如何在路由中为loadChildren分配变量以及如何在路由

之前创建此变量
{ path: 'lazy', loadChildren: 'lazy/lazy.module#LazyModule' }

2 个答案:

答案 0 :(得分:1)

如果您没有使用Ahead of Time编辑,可以尝试将函数传递给loadChildren

{ path: 'lazy', loadChildren: () => 'lazy/lazy.module#' + dynamicModuleName }

答案 1 :(得分:0)

一种选择是定义custom module loader

另一种选择是使用默认导出。由于路由器使用以下代码:

  private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {
    let [module, exportName] = path.split(_SEPARATOR);
    if (exportName === undefined) {
      exportName = 'default';
    }

加载模块,您可以导出默认模块,并且根本不传递任何模块名称:

export default class MyModule {}