簡體   English   中英

如何解決TypeError:functions.https.onCall不是函數?

[英]How to solve TypeError: functions.https.onCall is not a function?

我有一個我今年早些時候創建的Firebase項目。 它使用雲功能在實時數據庫上運行某些操作。

昨天,我了解了可調用雲功能 ,所以我決定在我的應用程序中嘗試它,看看我是否應該更新我現有的功能。 我為測試目的創建了一個簡單的雲函數:

exports.testCall = functions.https.onCall((data, context) =>{
    console.log(context.auth.uid);
    return {response:"This means success"};
});

但是當我嘗試部署此函數時,我收到錯誤:

錯誤:解析函數觸發器時發生錯誤。

TypeError:functions.https.onCall不是 Object 的函數 (/tmp/fbfn_7614ijhDwX0NY98S/index.js:114:36)在Module.load的Object.Module._extensions..js(module.js:660:10)的Module._compile(module.js:649:30)處( module.js:561:32)在tryModuleLoad(module.js:501:12)的Function.Module._load(module.js:493:3)的Module.require(module.js:593:17)at require( internal / module.js:11:18)atus的/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11。 (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)

我知道Callable Cloud Functions已經在最新的Firebase SDK中引入,所以我嘗試使用以下方法更新它:

sudo npm install -g firebase-tools

但我還不能部署我的雲功能。 我也嘗試過部分部署,如Firebase文檔中所示,但它沒有用。 文檔中有沒有我遺漏的東西?

僅更新Firebase CLI無法解決問題,因為您還必須更新項目目錄中的Cloud Functions SDK。 您提到Firebase項目已在今年早些時候初始化,因此在可調用雲功能發布之前。

當您在Firebase項目中啟動雲功能時,它會創建包含Cloud Functions SDK的functions目錄。 所以你(可能)仍然在functions目錄中有舊的SDK,你需要更新它。 為此,請導航到該目錄並運行命令:

sudo npm i --save firebase-functions@latest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM