0
我剛剛更新了我的Angular 2應用程序以使用Webpack進行縮小,所以我必須進行很多結構更改,但我認爲我現在已經很好了。我的新Webpack應用程序出現DI錯誤
我確實有對模塊的應用多層次的,是這樣的:(在此級別一樣登錄一些組件)
- 聯繫
- 應用(與幾個組件,如網頁,用戶)
- 演示(與像註冊部件)
所以我有每個模塊的路由模塊。對於應用它的作品,我降落在登錄頁面默認情況下,一切都正常工作,它的路線是這樣的:
{
path: 'login',
component: LoginComponent,
data: {
name: 'login'
}
},
但是,如果我想去一些部件來自其他模塊,當我登錄一樣,我應該去/管理這點讓我走在HomepageComponent已被設定這樣的應用路由模塊在AdminModule:
{
path: 'admin',
loadChildren:() => new Promise(resolve => {
(require as any).ensure([], require => {
resolve(require('./admin/admin.module').AdminModule)
})
})
},
但是,當我降落在其他模塊上我得到這個錯誤:
Error: Uncaught (in promise): Error: DI Error
at NoProviderError.ZoneAwareError (zone.js:811)
at NoProviderError.BaseError [as constructor] (errors.js:25)
at NoProviderError.AbstractProviderError [as constructor] (reflective_errors.js:64)
at new NoProviderError (reflective_errors.js:126)
at ReflectiveInjector_._throwOrNull (reflective_injector.js:492)
at ReflectiveInjector_._getByKeyDefault (reflective_injector.js:531)
at ReflectiveInjector_._getByKey (reflective_injector.js:463)
at ReflectiveInjector_.get (reflective_injector.js:332)
at AppModuleInjector.NgModuleInjector.get (ng_module_factory.js:146)
at CompiledTemplate.proxyViewClass.AppView.injectorGet (view.js:165)
at CompiledTemplate.proxyViewClass.DebugAppView.injectorGet (view.js:593)
at ElementInjector.get (element_injector.js:34)
at AdminModuleInjector.get (/AdminModule/module.ngfactory.js:216)
at AdminModuleInjector.get (/AdminModule/module.ngfactory.js:221)
at AdminModuleInjector.getInternal (/AdminModule/module.ngfactory.js:306)
我絕對不知道這裏有什麼可能是錯的。你爲什麼會發生這種情況?
我想補充一點,組件中使用的服務類總是在模塊提供程序中,然後放入組件構造函數 – Guigui