我想知道是否有任何方法可以在不使用angularfire的情况下在Ionic中实现firestore,也就是说,因为关于firebase和firestore的google文档对我来说更容易。首先我安装库
npm install --save firebase-admin@^5.4.0
然后将它们导入app.module
import * as admin from 'firebase-admin'
但是当我尝试初始化时
admin.initializeApp({
credential: admin.credential.cert({
projectId: "<PROJECT_ID>",
clientEmail: "foo@<PROJECT_ID>.iam.gserviceaccount.com",
privateKey: "-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n"
}),
databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
});
出现了很多错误,我真的不知道正确的方法来初始化它。
documentation for the Firebase Admin SDK的第一行说(强调我的):
Admin SDK允许您从特权环境与Firebase进行交互...
这意味着您不应在Angular(或其他)应用程序的前端使用Firebase Admin SDK。使用前端的Admin SDK可以让所有用户例如:创建无限的用户帐户或删除它们,擦除整个数据库,向应用的所有用户发送FCM通知等。
而是install the regular Firebase SDK for JavaScript。从该文件:
Firebase SDK也可在npm上使用。如果您还没有
package.json
文件,请通过npm init
创建一个。接下来,安装firebase
npm包并将其保存到package.json
:$ npm install firebase --save
要在您的应用程序中使用该模块,请从任何JavaScript文件中获取该模块:
var firebase = require("firebase");
如果您使用的是ES2015,则可以导入模块:
import * as firebase from "firebase";
然后,使用上面的代码段初始化Firebase SDK,它应如下所示:
// Initialize Firebase // TODO: Replace with your project's customized code snippet var config = { apiKey: "<API_KEY>", authDomain: "<PROJECT_ID>.firebaseapp.com", databaseURL: "https://<DATABASE_NAME>.firebaseio.com", storageBucket: "<BUCKET>.appspot.com", }; firebase.initializeApp(config);
如果此后仍有错误,请使用您尝试的代码和您收到的错误消息打开一个新问题。