Node.js 部署Firebase函数时出错

Node.js 部署Firebase函数时出错,node.js,firebase,google-cloud-functions,algolia,firebase-cli,Node.js,Firebase,Google Cloud Functions,Algolia,Firebase Cli,我正在尝试部署一个firebase云函数,每当在events节点下添加新事件时,该函数都会将某些内容推送到我的algolia搜索引擎。我在这里遵循了教程,它似乎在很大程度上详细介绍了如何做事情 然而,当我运行我的项目时,我得到了最奇怪的错误 分析函数触发器时出错 TypeError: Cannot read property 'config' of undefined 我以前在尝试部署函数时从未见过这种错误。我不确定是否有什么改变,但到目前为止,我真的找不到在firebase文档或stack

我正在尝试部署一个firebase云函数,每当在events节点下添加新事件时,该函数都会将某些内容推送到我的algolia搜索引擎。我在这里遵循了教程,它似乎在很大程度上详细介绍了如何做事情

然而,当我运行我的项目时,我得到了最奇怪的错误 分析函数触发器时出错

TypeError: Cannot read property 'config' of undefined
我以前在尝试部署函数时从未见过这种错误。我不确定是否有什么改变,但到目前为止,我真的找不到在firebase文档或stackoverflow上修复这个错误的地方

我运行的是节点版本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)
    })
});
看这行(我添加了回车):

这看起来是正确的:

functions.config().algolia.appid
这并不是:

functions.algolia.config().adminKey
看起来你想说的是:

functions.config().algolia.adminKey

你到底在什么时候看到了这个错误?请描述您的工作流程。当我尝试部署函数*smacks forehead噢,等等,我现在遇到另一个问题函数加载错误:无法加载index.js文件中的代码。您是否在package.json依赖项中列出了所有必需的模块?详细堆栈跟踪:错误:找不到模块'algoliasearch',我是否必须npm安装它?如果您的问题与您在问题中提出的问题不同,请提出一个全新的问题。
functions.config().algolia.adminKey