“ERROR TypeError: Object(…) no es una función” usando AngularFirestore y firebase
angularfire2 (8)
Quiero usar firebase y angularfire2 en mi aplicación, en primer lugar, los instalé, y para las declaraciones:
en medio ambiente.ts
export const environment = {
production: false,
firebase: {
apiKey: ''sfsdfdsff'',
authDomain: ''sfsdfdf'',
databaseURL: ''https://ng-sfsdfsf.firebaseio.com'',
projectId: ''ng-fitnesssfsdfdsf'',
storageBucket: ''ng-fsdfsdfsfdecff5.appspot.com'',
messagingSenderId: ''21331323''
}
};
en app.module.ts, importaciones:
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule
en el componente donde quiero obtener mis datos:
import { AngularFirestore } from ''angularfire2/firestore'';
hasta este momento no tengo un error, pero cuando quiero declarar mi variable en el constructor para usarla:
constructor(private trainingService: TrainingService, private
db:AngularFirestore) { }
Tengo un error:
ERROR TypeError: Object(...) is not a function
at eval (firestore.js:28)
at ZoneDelegate.invoke (zone.js:388)
at Zone.run (zone.js:138)
En mi package.json:
"angularfire2": "^5.0.0-rc.8.0",
"core-js": "^2.4.1",
"firebase": "^5.0.2",
y no se por que
gracias por tu ayuda
El mantenedor de AngularFire aquí, hemos tenido una serie de cambios importantes a medida que avanzamos hacia 5.0 GA. Para admitir Angular 6, los lanzamientos recientes de AngularFire requieren rxjs 6. Si bien, la degradación o el anclaje a una versión antigua funcionaría para una solución rápida y sucia, no sugeriría que, dado que dejará de lado las mejoras en las bibliotecas de el futuro.
Recomiendo actualizar rxj6 a la versión 6 e incluir
rxjs-compat
si tiene dependencias que aún no se han actualizado:
npm i rxjs@^6.0 rxjs-compat
Mantenga un ojo en el registro de cambios de fuego angular para obtener información importante sobre cualquier cambio de ruptura; Una vez que lleguemos a GA cumpliremos con semver.
Y para referencia, aquí está la guía de migración RXJS 5 => 6 .
Esta fue mi solución:
npm uninstall angularfire2
npm install [email protected]
npm uninstall firebase
npm install [email protected]
Primero desinstalé firebase y angularfire2 con:
-
npm uninstall firebase
-
npm uninstall angularfire2
Y luego reinstalado de nuevo con:
-
npm install [email protected]
-
npm install [email protected]
Usando
^
en las versiones realmente instaladas [email protected], así que simplemente eliminé esa parte.
Retire
^
éste delante de la versión.
Así como esto.
{
...
"angularfire2": "5.0.0-rc.6",
"firebase": "4.12.1",
}
Tengo el mismo error al instalar
"angularfire2": 5.0.0-rc.9
.
El error desaparece cuando vuelvo a
5.0.0-rc.6
.
npm install [email protected]
npm install [email protected]
Tengo el mismo error.
Tan pronto como actualicé rxjs con
sudo npm update rxjs
.
Y luego actualice rxjs-compat con
sudo npm i rxjs@latest rxjs-compat
.
Después de corregir las vulnerabilidades y luego ejecutar
ng build
luego
ng serve
.
Esto solucionó mi error.
(en macOS)
Tuve el mismo problema pero lo resolví. Puedes seguir mi trabajo. Este es un ejemplo para iónico.
Instalar rxjs
npm i rxjs@^6.0 rxjs-compat
importar rxjs-compact a archivo
import { AngularFireDatabase, AngularFireList } from ''angularfire2/database'';
import { Observable } from ''rxjs-compat'';
import { map } from ''rxjs-compat/operators'';
https://.com/a/50447449/6567753
npm install rxjs@6 rxjs-compat@6
Esto solucionó el problema.