我有一个angular 2(angular cli 1.3.2)项目,它被分解成多个模块,具有延迟加载。主模块使用以下代码加载路由器内的子模块:

{
    path: 'module2',
    loadChildren: 'modules/module2/module2.module.ts#Module2Module',
    canActivate: [Guard]
},

当我运行ng serve时,它会给出以下错误信息:
ERROR in Could not resolve "modules/module2/module2.module.ts" from "<..>/app/app.module.ts".

当我在项目中保存任何文件(触发重新生成)时,生成成功,并且两个模块都按预期工作。我甚至不需要更改文件!
有没有办法解决这个问题,或者这可能是个错误?
谢谢

最佳答案

我认为如果可以提高初始加载时间,就应该使用延迟加载。
app-routing.module.ts应该有这样的条目(假设modules文件夹在src/app中)

{
    path: 'module2',
    loadChildren: './modules/module2/module2.module#Module2Module',
    canActivate: [Guard]
}

注意模块路径中没有文件扩展名。

关于angular - 带有延迟加载子模块的Angular 2项目在首次尝试编译时未解析子模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46237067/

10-09 22:33