部署 Firebase 函数时出错
Error Deploying Firebase function
我正在尝试部署一个 firebase 云函数,每当在事件节点下添加一个新事件时,它就会将某些内容推送到我的 algolia 搜索引擎。我遵循了此处的教程,其中大部分内容似乎都详细说明了如何做事。
https://www.youtube.com/watch?v=Njtbo3YUdH4
然而,当我 运行 我的项目时,我得到了最奇怪的错误
解析您的函数触发器时出错。
TypeError: Cannot read property 'config' of undefined
我以前在尝试部署函数时从未见过此错误。我不确定是否发生了某些变化,但到目前为止我真的找不到在 firebase 文档或 Whosebug 上修复此错误的位置。
我是 运行ning 节点版本 v8.11.3 除此之外,我很确定我的 algolia 配置正确,因为当我 运行
$ firebase functions:config:get
我明白了
{
"algolia": {
"appid": "xxxxxxx",
"adminkey": "xxxxxxxxxx"
}
}
唯一可能是我的代码。如果有人可以帮助我修复它,我将在下面包含它,我将不胜感激。
//similar to import functions in swift
const functions = require('firebase-functions');
// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
//exports acts as a global variable that you can init other properties on
//on
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
const algoliasearch = require('algoliasearch');
const algolia = algoliasearch(functions.config().algolia.appid,functions.algolia.config().adminKey)
exports.updateIndex = functions.database.ref('/events/{eventKey}').onWrite(event =>{
const index = algolia.initIndex('events');
const eventKey = event.params.eventKey
const data = event.data.val();
if(!data){
return index.deleteObject(eventKey,(err) =>{
if (err) throw err
console.log('Event deleted from algolia index',eventKey)
})
}
data['objectID'] = eventKey
return index.saveObject(data,(err,content) =>{
if (err) throw err
console.log('Event updated in algolia index',data.objectID)
})
});
看这行(我加了一个回车return):
const algolia = algoliasearch(functions.config().algolia.appid,
functions.algolia.config().adminKey)
这看起来是正确的:
functions.config().algolia.appid
这不是:
functions.algolia.config().adminKey
看来你是想这样说:
functions.config().algolia.adminKey
我正在尝试部署一个 firebase 云函数,每当在事件节点下添加一个新事件时,它就会将某些内容推送到我的 algolia 搜索引擎。我遵循了此处的教程,其中大部分内容似乎都详细说明了如何做事。
https://www.youtube.com/watch?v=Njtbo3YUdH4
然而,当我 运行 我的项目时,我得到了最奇怪的错误 解析您的函数触发器时出错。
TypeError: Cannot read property 'config' of undefined
我以前在尝试部署函数时从未见过此错误。我不确定是否发生了某些变化,但到目前为止我真的找不到在 firebase 文档或 Whosebug 上修复此错误的位置。
我是 运行ning 节点版本 v8.11.3 除此之外,我很确定我的 algolia 配置正确,因为当我 运行
$ firebase functions:config:get
我明白了
{
"algolia": {
"appid": "xxxxxxx",
"adminkey": "xxxxxxxxxx"
}
}
唯一可能是我的代码。如果有人可以帮助我修复它,我将在下面包含它,我将不胜感激。
//similar to import functions in swift
const functions = require('firebase-functions');
// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
//exports acts as a global variable that you can init other properties on
//on
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
const algoliasearch = require('algoliasearch');
const algolia = algoliasearch(functions.config().algolia.appid,functions.algolia.config().adminKey)
exports.updateIndex = functions.database.ref('/events/{eventKey}').onWrite(event =>{
const index = algolia.initIndex('events');
const eventKey = event.params.eventKey
const data = event.data.val();
if(!data){
return index.deleteObject(eventKey,(err) =>{
if (err) throw err
console.log('Event deleted from algolia index',eventKey)
})
}
data['objectID'] = eventKey
return index.saveObject(data,(err,content) =>{
if (err) throw err
console.log('Event updated in algolia index',data.objectID)
})
});
看这行(我加了一个回车return):
const algolia = algoliasearch(functions.config().algolia.appid,
functions.algolia.config().adminKey)
这看起来是正确的:
functions.config().algolia.appid
这不是:
functions.algolia.config().adminKey
看来你是想这样说:
functions.config().algolia.adminKey