我尝试将GeoFirestore实施到我的Firebase云功能。
当我尝试部署代码时,会发生此错误“ TypeError:GeoFire不是构造函数”。
我将index.js文件用于功能。
我试图在我的函数中实现GeoFire参考,但这也无济于事...
我尝试了所有方法,但无法解决此问题。 我希望你们能帮助我:)
PS 。:我为此帖子使用XXXXXXX更改了Firebase DatabaseURL。
我在网上搜索并找到堆栈溢出的答案,但是没有一个答案可以解决我的问题。
我的index.js看起来像这样:
const functions = require('firebase-functions');
var admin = require('firebase-admin');
var serviceAccount = require('./serviceAccountKey.json');
var GeoFire = require('geofirestore');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://XXXXXXXXX.firebaseio.com"
});
admin.firestore().settings({
timestampsInSnapshots: true
});
const database = admin.firestore();
const Geo = new GeoFire(database.collection('UserLocations'));
我的package.json依赖项如下:
"dependencies": {
"firebase-admin": "~6.0.0",
"firebase-functions": "^2.1.0",
"geofirestore": "^3.1.0"
},
答案 0 :(得分:3)
由于您使用的是track
语法,而不是require
,因此您需要像这样引入单个类...
import
此外,geofirestore实例采用一个firestore实例。因此,您不会像在代码中那样传递集合。您想这样做:
var GeoFirestore = require('geofirestore').GeoFirestore;
希望这会有所帮助。