我有一个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/