首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用云函数外壳在本地运行云函数代码

使用云函数外壳在本地运行云函数代码
EN

Stack Overflow用户
提问于 2018-11-14 18:56:05
回答 1查看 332关注 0票数 0

我正在尝试使用云函数shell在本地测试我的函数。我成功地使shell功能适用于我的代码。我发现这并不需要将我的代码部署到云中。但是,每当我通过shell运行该函数时,它都可以正常工作,但它使用的是已部署的代码,而不是本地代码(我使用的是控制台语句,如示例代码所示)。除非部署,否则我无法调用本地代码。

此外,在我的云函数中,我使用了实时数据库的onCreate方法,并将其写回同一个实时数据库。当我使用shell进行本地测试时,我输入函数的数据文件并将其写回实时数据库。因此,我实际上正在尝试编写代码并在本地运行,以便写入云中的实时数据库。这是否可以在不部署函数的情况下使用shell?

我的示例函数如下所示:

代码语言:javascript
复制
export const myCloudFunction = functions.database.instance(getDatabaseIdentifier()).ref(PATH).onCreate(async (snapshot, context) => {

    console.log('local code invoked')
    // or
    console.log('deployed code invoked')
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 20:47:00

我想清楚了,因为我使用的是类型记录,在运行云函数shell之前,我需要将我的代码转换成javascript。

我认为它调用已部署代码的原因很明显,因为它实际上不是调用已部署的代码,而是调用在部署到云时生成的本地转移代码。现在,我所需要做的就是在运行云函数shell之前,在函数文件夹中使用下面的命令来转换我的代码。

代码语言:javascript
复制
// run this command in your functions folder 
   'npm run-script build'

此构建在“lib”文件夹中生成转置的javascript代码。现在,我们可以运行下面的命令来调用shell。

代码语言:javascript
复制
firebase functions:shell

现在,我们可以模拟本地未部署的云功能,并在本地测试它们。

有关详细解释,请查看这篇中型文章:https://medium.com/@moki298/test-your-firebase-cloud-functions-locally-using-cloud-functions-shell-32c821f8a5ce

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53307012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档