Firebase 重新组织云函数时发生ReferenceError
我正在按照上的说明重新组织我的云功能 但是我正在努力重用index.js文件中定义的一些全局常量Firebase 重新组织云函数时发生ReferenceError,firebase,google-cloud-firestore,google-cloud-functions,Firebase,Google Cloud Firestore,Google Cloud Functions,我正在按照上的说明重新组织我的云功能 但是我正在努力重用index.js文件中定义的一些全局常量 //index.js const functions=require('firebase-functions') const admin=require('firebase-admin') admin.initializeApp() const db=admin.firestore() db.settings({ignoreundinedproperties:true}) exports.choic
//index.js
const functions=require('firebase-functions')
const admin=require('firebase-admin')
admin.initializeApp()
const db=admin.firestore()
db.settings({ignoreundinedproperties:true})
exports.choice=require(“./choice”)
...
//choice.js
const functions=require('firebase-functions')
exports.redirection=函数
.区域(“欧洲西部1”)
.https.onRequest(异步(请求、回复)=>{
试一试{
const doc=await db.doc(`stbk${req.params[0]}`).get()
...
出现以下错误:>ReferenceError:db未定义
任何帮助都将不胜感激
更新
我已经做了以下工作:
//global.js
const admin=require('firebase-admin')
admin.initializeApp()
const db=admin.firestore()
db.settings({ignoreundinedproperties:true})
module.exports={admin,db}
//choice.js
const functions=require('firebase-functions')
常量全局=需要('./全局')
exports.redirection=函数
.区域(“欧洲西部1”)
.https.onRequest(异步(请求、回复)=>{
试一试{
const doc=await global.db.doc(`stbk${req.params[0]}`).get()
这是一个有效的解决方案吗?这是因为没有在choice.js内声明db。您可以在index.js内将db声明为全局变量,也可以在choice.js中声明它。由于未正确初始化Firestore数据库,因此出现错误。 您可以使用以下代码: Index.js
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firestore);
const firestoreDB = admin.firestore()
exports.choice = require('./choice')
module.exports = { db }
Choice.js
const functions = require('firebase-functions')
const global = require('./index')
exports.redirection = functions
.region('europe-west1')
.https.onRequest(async (req, res) => {
try {
const doc = await global.doc(`stbk${req.params[0]}`).get()
我认为只有index.js和choice.js就足够了。你为什么要创建另一个名为global的.js?如果你想像上面在global.js中提到的那样分开,那么你的代码对我来说似乎是有效的
如果你还有其他问题,请告诉我