Angular2/Ionic2: No provider for ….
When your developing an angular 2/ionic 2 application and you get the the following error:
EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in :0:0
ORIGINAL EXCEPTION: No provider for UserService!
ORIGINAL STACKTRACE:
Error: DI Exception
at NoProviderError.BaseException [as constructor] (http://localhost:8100/build/js/app.bundle.js:2300:23)
at NoProviderError.AbstractProviderError [as constructor] (http://localhost:8100/build/js/app.bundle.js:27491:16)
at new NoProviderError (http://localhost:8100/build/js/app.bundle.js:27528:16)
at ReflectiveInjector_._throwOrNull (http://localhost:8100/build/js/app.bundle.js:28516:19)
at ReflectiveInjector_._getByKeyDefault (http://localhost:8100/build/js/app.bundle.js:28544:25)
at ReflectiveInjector_._getByKey (http://localhost:8100/build/js/app.bundle.js:28507:25)
at ReflectiveInjector_.get (http://localhost:8100/build/js/app.bundle.js:28316:21)
at ElementInjector.get (http://localhost:8100/build/js/app.bundle.js:29890:48)
at ElementInjector.get (http://localhost:8100/build/js/app.bundle.js:29890:48)
at ReflectiveInjector_._getByKeyDefault (http://localhost:8100/build/js/app.bundle.js:28541:24)
ERROR CONTEXT:
[object Object]
Your module exists, it’s setup and your import is working. So what’s up? You need to make it available for your application. In your app.ts you have 2 approach’s add a new paramter to your @Component called providers that takes an array of modules.
Angular 2 (non-Ionic)
@Component({
templateUrl: “build/app.html”,
providers: [UserService],
})
For Ionic you can also just pass it into the ionicBootstrap function, the second parameter to that is an array of modules:
ionicBootstrap(ConnectApp, [UserService]);
Hope this helps!