angularfire - no provider for angular fire in angular 2 -
i keep gettings following error when trying implement login:
browser_adapter.ts:82exception: error in http://localhost:4200/app/app.component.js class appcomponent_host - inline template:0:0browserdomadapter.logerror @ browser_adapter.ts:82browserdomadapter.loggroup @ browser_adapter.ts:93exceptionhandler.call @ exception_handler.ts:58(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 browser_adapter.ts:82original exception: no provider angularfire!browserdomadapter.logerror @ browser_adapter.ts:82exceptionhandler.call @ exception_handler.ts:70(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 browser_adapter.ts:82original stacktrace:browserdomadapter.logerror @ browser_adapter.ts:82exceptionhandler.call @ exception_handler.ts:74(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 browser_adapter.ts:82error: di exception @ noprovidererror.baseexception [as constructor] (exceptions.ts:21) @ noprovidererror.abstractprovidererror [as constructor] (reflective_exceptions.ts:59) @ new noprovidererror (reflective_exceptions.ts:92) @ reflectiveinjector_._throwornull (reflective_injector.ts:849) @ reflectiveinjector_._getbykeydefault (reflective_injector.ts:878) @ reflectiveinjector_._getbykey (reflective_injector.ts:840) @ reflectiveinjector_.get (reflective_injector.ts:633) @ ngmoduleinjector.get (ng_module_factory.ts:99) @ debugappview._view_appcomponent_host0.createinternal (appcomponent.ngfactory.js:16) @ debugappview.appview.create (view.ts:112)browserdomadapter.logerror @ browser_adapter.ts:82exceptionhandler.call @ exception_handler.ts:75(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 browser_adapter.ts:82error context:browserdomadapter.logerror @ browser_adapter.ts:82exceptionhandler.call @ exception_handler.ts:79(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 browser_adapter.ts:82debugcontext {_view: _view_appcomponent_host0, _nodeindex: 0, _tplrow: 0, _tplcol: 0}browserdomadapter.logerror @ browser_adapter.ts:82exceptionhandler.call @ exception_handler.ts:80(anonymous function) @ application_ref.ts:289zonedelegate.invoke @ zone.js:323oninvoke @ ng_zone_impl.ts:72zonedelegate.invoke @ zone.js:322zone.run @ zone.js:216(anonymous function) @ zone.js:571zonedelegate.invoketask @ zone.js:356oninvoketask @ ng_zone_impl.ts:61zonedelegate.invoketask @ zone.js:355zone.runtask @ zone.js:256drainmicrotaskqueue @ zone.js:474zonetask.invoke @ zone.js:426 zone.js:461 unhandled promise rejection: exception: error in http://localhost:4200/app/app.component.js class appcomponent_host - inline template:0:0 original exception: no provider angularfire! original stacktrace: error: di exception @ noprovidererror.baseexception [as constructor] (http://localhost:4200/vendor/@angular/core/src/facade/exceptions.js:27:23) @ noprovidererror.abstractprovidererror [as constructor] (http://localhost:4200/vendor/@angular/core/src/di/reflective_exceptions.js:43:16) @ new noprovidererror (http://localhost:4200/vendor/@angular/core/src/di/reflective_exceptions.js:80:16) @ reflectiveinjector_._throwornull (http://localhost:4200/vendor/@angular/core/src/di/reflective_injector.js:786:19) @ reflectiveinjector_._getbykeydefault (http://localhost:4200/vendor/@angular/core/src/di/reflective_injector.js:814:25) @ reflectiveinjector_._getbykey (http://localhost:4200/vendor/@angular/core/src/di/reflective_injector.js:777:25) @ reflectiveinjector_.get (http://localhost:4200/vendor/@angular/core/src/di/reflective_injector.js:586:21) @ ngmoduleinjector.get (http://localhost:4200/vendor/@angular/core/src/linker/ng_module_factory.js:98:52) @ debugappview._view_appcomponent_host0.createinternal (appcomponent.ngfactory.js:16:70) @ debugappview.appview.create (http://localhost:4200/vendor/@angular/core/src/linker/view.js:101:21) error context: [object object] ; zone: <root> ; task: promise.then ; value: viewwrappedexception {_wrappermessage: "error in http://localhost:4200/app/app.component.js class appcomponent_host - inline template:0:0", _originalexception: noprovidererror, _originalstack: "error: di exception↵ @ noprovidererror.baseexc…0/vendor/@angular/core/src/linker/view.js:101:21)", _context: debugcontext, _wrapperstack: "error: error in http://localhost:4200/app/app.comp…ndor/@angular/core/src/application_ref.js:353:27)"}consoleerror @ zone.js:461_loop_1 @ zone.js:490drainmicrotaskqueue @ zone.js:494zonetask.invoke @ zone.js:426 zone.js:463 error: uncaught (in promise): exception: error in http://localhost:4200/app/app.component.js class appcomponent_host - inline template:0:0(…)consoleerror @ zone.js:463_loop_1 @ zone.js:490drainmicrotaskqueue @ zone.js:494zonetask.invoke @ zone.js:426
this main.ts:
import { browsermodule } '@angular/platform-browser'; import { platformbrowserdynamic } '@angular/platform-browser-dynamic'; import { bootstrap } '@angular/platform-browser-dynamic'; import { enableprodmode, ngmodule } '@angular/core'; import { appcomponent, environment } './app/'; import { angularfiremodule, firebase_providers, authproviders, authmethods } 'angularfire2'; // must export config export const firebaseconfig = { apikey: "", authdomain: "", databaseurl: "", storagebucket: "" }; export const firebaseauthconfig = { provider: authproviders.password, method: authmethods.popup } @ngmodule({ imports: [ browsermodule, angularfiremodule.initializeapp(firebaseconfig, firebaseauthconfig) ], declarations: [ appcomponent ], bootstrap: [ appcomponent ] }) export class myappmodule {} if (environment.production) { enableprodmode(); } bootstrap(appcomponent);
this app.component.ts:
import { component, inject } '@angular/core'; import {angularfire, firebaseauth, authproviders} 'angularfire2'; @component({ moduleid: module.id, selector: 'app-root', templateurl: 'app.component.html', styleurls: ['app.component.css'] }) export class appcomponent { title = 'tour of heroes'; hero = 'windstorm'; //constructor (private _auth: firebaseauth) {} constructor(public af: angularfire) { } public dologin () { // perform popup auth google oauth , scope email // because options provided through bootstrap di, , we're overriding provider. /*this._auth.login({ provider: authproviders.facebook });*/ this.af.auth.login() } } @component({ selector: 'auth-status', template: ` <div *ng-if="auth | async">you logged in</div> <div *ng-if="!(auth | async)">please log in</div> ` }) export class loggedin { constructor (@inject(firebaseauth) public auth: firebaseauth) {} }
Comments
Post a Comment