【发布时间】:2017-01-16 13:36:47
【问题描述】:
app.routing.ts
const routes: Routes = [
{ path: '', redirectTo: 'contact', pathMatch: 'full'},
{ path: 'projects', loadChildren: 'app/projects/projects.module#ProjectsModule' },
{ path: 'hello', loadChildren: 'app/my-project/my-project.module#MyProjectModule' }
];
仅加载接触路径,但带有 loadChildren 的路径会出现以下错误:
error_handler.js:50
EXCEPTION: Uncaught (in promise): TypeError: Cannot set property 'stack' of undefined
TypeError: Cannot set property 'stack' of undefined at NoProviderError.set [as stack]
我正在关注官方文档,但没有运气,更改为绝对路径有效,但是我必须导入每个功能模块的根组件,说必须导入 ProjectsComponent,它是 ProjectsModule 的根。
怎么了!!
【问题讨论】:
-
此堆栈错误发生在未使用延迟加载进行编译时。尽管如此,你的日志告诉
at NoProviderError.set [as stack],所以你应该检查你的modules,看看你有没有忘记。 -
我在本地机器上检查了angular.io/resources/live-examples/ngmodule/ts/eplnkr.html,它可以工作。角度 CLI 是否有问题
-
我不确定这是否是同一个问题,但在使用 Karma 运行单元测试时,我也收到错误“无法设置未定义的属性‘堆栈’”。我可以通过将 zone.js 升级到 0.7.4 来修复它:
npm install --save zone.js@0.7.4 -
@Jim 谢谢哥们!它也对我有用