模块“...”导入了意外值 'undefined'

Unexpected value 'undefined' imported by the module '...'

收到此错误:(SystemJS) 模块 'DossierModule'

导入了意外值 'undefined'

我有 2 个 ngModules 相互导入,这个错误是否可能来自于此? 在那种情况下:DossierModule 导入 ContactModule,ContactModule 导入 DossierModule。当我删除 ContactModule 中的导入时,它起作用了,DossierModule 也一样。

所以 2 个模块不能相互导入?

谢谢。

appmodule.ts 文件中的两个模块导入都已添加,如此处的联系模块,您必须添加 DossierModuleContactModule

@NgModule({
  imports:      [ BrowserModule, ContactModule, DossierModule ],
  declarations: [ AppComponent, HighlightDirective, TitleComponent ],
  providers:    [ UserService ],
  bootstrap:    [ AppComponent ],
})

是的,它们不应该相互导入。如果这 2 个模块相互导入,您最终会得到一个循环引用。来自 Angular 模块常见问题解答:

Angular does not like modules with circular references so don't let Module 'A' import Module 'B' which imports Module 'A'.

更多信息:Angular2 Module FAQ