Estou aprendendo Angular procurando ajuda para consertar o erro: Estou seguindo este link: https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md para criar um pequeno angular aplicativo com angular2 e angularfirestore2
mas quando clico em servir, recebo o erro abaixo no console do navegador.
StaticInjectorError[AngularFirestore]:
StaticInjectorError[AngularFirestore]:
NullInjectorError: No provider for AngularFirestore!
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
Tentei pesquisar no Google, mas não encontrei a solução exata, nada funcionou para mim :(,
Aqui está o que eu segui: 1) Nó instalado versão 8.9.1 2) npm install -g @ angular / cli -> Versão 1.5.2 3) ng new 'project-name' 4) npm install angularfire2 firebase --save
Aqui está meu arquivo app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AngularFireModule } from 'angularfire2';
import { environment } from '../environments/environment';
@NgModule({
imports: [
BrowserModule,
AngularFireModule.initializeApp(environment.firebase)
],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule {}
app.component.ts:
import { Component } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(db: AngularFirestore) {}
}
environmentemnt.ts:
export const environment = {
production: false,
firebase: {
apiKey: 'xxxxx',
authDomain: 'aaaaaaa',
databaseURL: 'bbbbbbbbbbbbbbbbbb',
projectId: 'aaaaaaaaaaaaaa',
storageBucket: 'aaaaaaaaaaaa',
messagingSenderId: 'aaaaaaaaaaaaa'
}
};
então ng serve, e estou recebendo o erro acima ...
angular
firebase
google-cloud-firestore
angularfire2
Desenvolvedor
fonte
fonte
Respostas:
Você deve adicionar
providers: [AngularFirestore]
noapp.module.ts
.fonte
import
ingAngularFirestoreModule
, como diz a documentação, que presumivelmente cuida de tudo, incluindo a declaração deAngularFirestore
provedor.CTRL+C
oionic serve
e reiniciá-lo ... (acontece muitas vezes por algum motivo desde Ionic 3 ..)Eu tive o mesmo problema e está resolvido abaixo.
Código de serviço antigo:
Código de serviço de trabalho atualizado:
fonte
providedIn
argumento está disponível apenas no Angular 6 e superior.Abra:
./src/app/app.module.ts
e importe os módulos do Firebase na parte superior:
E MUITO IMPORTANTE:
Lembre-se de atualizar as 'importações' no NgModule:
Experimente, agora deve funcionar.
Para obter informações detalhadas, siga a documentação do angularfire2 :
https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md
Boa sorte!
fonte
O estranho para mim era que eu tinha o provedor: [], mas a tag HTML que usa o provedor era o que estava causando o erro. Estou me referindo à caixa vermelha abaixo:
Acontece que eu tinha duas classes em componentes diferentes com o mesmo nome de arquivo "employee-list.component.ts" e, portanto, o projeto compilou bem, mas as referências estavam todas confusas.
fonte
Adicionar
AngularFirestoreModule.enablePersistence()
na seção de importação resolveu meu problema:fonte
Resolvi esse problema removendo apenas o firestore de:
no meu arquivo component.ts. como uso apenas:
isso também pode ser o seu problema.
fonte
Para a última versão do AngularFire2
Instale AngularFire2
Em seguida, atualize o arquivo app.module.ts
Verifique o tutorial de operação FireStore CRUD aqui
fonte
Altere sua importação de:
Para isso :
Isso resolve meu problema.
fonte
Eu levo isso para meu app.module. Após as importações deve funcionar
Minha versão:
fonte
em
app.module.ts
e configurá-lo como um provedor de serviço semelhantefonte
Eu tive o mesmo problema ao adicionar firebase ao meu aplicativo Ionic . Para corrigir o problema, segui estas etapas:
Em meu app / app.module.ts :
Anteriormente, usávamos FirestoreSettingsToken em vez de SETTINGS. Mas esse bug foi resolvido, agora usamos SETTINGS. ( link )
Em meu app / services / myService.ts importei como:
Por algum motivo, o vscode estava importando-o como "@ angular / fire / firestore / firestore"; I Depois de alterá-lo para "@ angular / fire / firestore"; o problema foi resolvido!
fonte