我正在开发一个应用程序,我需要在应用程序中动态加载模块,因为我有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,其中模块正在加载,但它不适合我。我需要帮助来弄清楚我做错了什么。