Angular 2アプリケーションがWebpackを使用して縮小されたため、多くの構造変更を加えなければならなかったが、今は良いと思った。ホームページのようないくつかのコンポーネント、ユーザーと(新しいWebpackアプリケーションでDIエラーが発生する
- アプリ(一部のコンポーネントでログインのようなこのレベルでの)
- 管理者:
は、私が実際にこのようなモジュールのためのアプリケーションの多くのレベルを持っています)
- 登録のような構成要素とデモ()
- 管理者:
私は各モジュールにルーティングモジュールを持っています。アプリにとっては、私は、デフォルトでは、ログインページに着陸し、すべてが期待どおりに動作しますが、そのルートが似ている作品:
{
path: 'login',
component: LoginComponent,
data: {
name: 'login'
}
},
しかし、私は、私がログインしたときのような他のモジュールからの一部のコンポーネントに行きたい場合は、私は、私はアプリのルーティングモジュールでそのように設定されているAdminModuleにHomepageComponentに行かせる/ adminに行くことになってる:
{
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