使用Router的resetConfig()方法进行Lazy加载模块时,无法找到模块的路径

时间:2017-06-28 10:05:18

标签: angular angular-routing

我正在开发一个应用程序,我需要在应用程序中动态加载模块,因为我有api向我提供详细信息(即routerConfig)这里是我从api获得的数据。

[
 {
  "path": "lazy",
  "loadChildren": "app/lazy-module/lazy.module#LazyModule",
  "data":{"name":"my lazy module"}
 } 
]

我从api获取数据后,使用路由器的resetConfig()方法更新路由配置。我将数据附加为主路由的children,如下所示。

loadRoutingConfiguration(id: string) {
 this.appService.getRoutesByOrgId(id)
  .subscribe(
    response => {
      let config = this.router.config;
      config[0].children = response;
      this.router.resetConfig(config);
    }
  );
}

路由器配置正确更新,但当我尝试导航到路径lazy时,它会给我错误,

Cannot find module 'app/lazy-module/lazy.module'

此处app/lazy-module/lazy.module是我的模块文件定义的路径,但应用程序无法找到该模块。我究竟做错了什么?  我应该用什么路径来加载模块。我找到了一个例子http://plnkr.co/edit/FDaiDvklexT68BTaNqvE?p=preview,其中模块正在加载,但它不适合我。我需要帮助来弄清楚我做错了什么。

0 个答案:

没有答案