![](/img/trans.png)
[英]Angular2 "No provider for t!" and Uncaught (in promise): Error: DI Error
[英]Angular2: HowTo debug “Uncaught Invalid Provider” Error?
我的app.ts中有數十個導入,經過大量重構以與官方Angular2樣式指南保持一致,我得到了臭名昭著的Invalid Provider Error。 我正在使用RC4。
reflective_provider.js:170Uncaught Invalid provider - only instances of Provider and Type are allowed, got: undefined
我該如何調試? 我需要知道哪些導入/提供程序是錯誤的。
這些是我的進口貨:
https://gist.github.com/nottinhill/4d61beb9e3a05a6cfc11c65fcb4ad89a
這是我的離子引導程序:
https://gist.github.com/nottinhill/c8ef4f0f760af2f5a23ebeac35d6113b
在Angular2-RC4 provide
從@angular/core
已被棄用。 您必須定義您的提供者如下:
ionicBootstrap(MyApp, [
GoalService,
{
provide : TranslateLoader,
useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
deps: [Http]
},
TranslateService,
{
provide : AuthHttp,
useFactory: (http) => {
return new AuthHttp(
new AuthConfig(),
http
);
},
deps: [Http]
},
AuthService,
AuthServerService,
AuthServerMock,
AuthZeroService,
AuthZeroMock
]);
根本原因是我的模塊層次結構中barell導入的循環依賴關系。 解決方案是通過“ ../shared/service/service.service.ts”顯式導入,而不是在所引導的模塊和服務中深入“ ../shared/”。
Barell使用“ ../shared/index”導入更高的層次結構效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.