我正在按照一些教程来安装和使用Firebase,
但是我什至无法通过我必须要做的部分
this.firebase.getToken().then(token => {...},error => {...});
因为我有这个错误:
TypeError:Object(...)不是函数 在Firebase.getToken
模块是这样导入的:
import { AngularFirestore } from 'angularfire2/firestore';
import { Firebase } from '@ionic-native/firebase/ngx';
请注意,如果我未在导入末尾放置/ngx
,则会收到提供程序错误...
我试图安装它:
npm i rxjs@6 rxjs-compat@6 promise-polyfill --save
但没有任何改变
ionic info
:
Ionic:
ionic (Ionic CLI) : 4.9.0 (/.../.nvm/versions/node/v9.11.2/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.1.8
Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 7.0.0, ios 4.5.5
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1, (and 21 other plugins)
System:
Android SDK Tools : 25.1.7 (/.../Library/Android/SDK)
ios-deploy : 1.9.4
ios-sim : 5.0.13
NodeJS : v9.11.2 (/.../.nvm/versions/node/v9.11.2/bin/node)
npm : 5.6.0
OS : macOS Mojave
Xcode : Xcode 10.1 Build version 10B61
有什么主意吗?我在这里很迷路
编辑:
package.json
:
"angularfire2": "^5.1.1",
"firebase": "^5.8.1",
"@ionic-native/firebase": "^5.0.0",
答案 0 :(得分:5)
我在https://stackoverflow.com/a/54398403/6617276
处回答了类似的问题在ionic.config.json文件中检查您的项目类型。
如果类型为“离子角” ,则安装4.x.x版本。
npm i -s @ionic-native/firebase@4.20.0
如果类型为“角度” ,则安装5.x.x-beta版本
npm i -s @ionic-native/firebase@5.0.0-beta.24
注意:
仅当您使用 Angular 6
时,才在导入末尾添加ngx。import { Firebase } from '@ionic-native/firebase/ngx';
如果未从导入的app.module.ts和app.component.ts
中删除 ngximport { Firebase } from '@ionic-native/firebase';
参考:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074