如何在WebStorm中调试firebase云功能?

2024-02-24

我已经启动了一个 Firebase 云函数项目,想知道如何在 WebStorm IDE 中运行调试?

我读到我可以使用 @google-cloud/functions-emulator 存档我的目标。 因此我安装了它并遵循了这个文档 https://cloud.google.com/functions/docs/emulator

运行后functions inspect myFunction,我得到以下输出。

Warning: You're using Node.js v10.6.0 but the Google Cloud Functions runtime is only available in Node.js 6 and Node.js 8. Therefore, results from running emulated functions may not match production behavior.
Debugger for app listening on port 9229.

我认为调试现在应该可以工作了。在浏览器中打开 myFunction(例如http://localhost:8010/my-project/us-central1/myFunction/ http://localhost:8010/my-project/us-central1/myFunction/) 工作正常。

现在我正在挣扎。要将 IDE 连接到调试器或将调试器连接到 IDE,我需要做什么?我不知道调试是如何工作的。

预期结果:我想在 Chrome 浏览器中打开该函数,然后在 WebStorm IDE 中的断点处暂停。

感谢您提前提供帮助;)


As of firebase-工具 v7.11.0 https://github.com/firebase/firebase-tools/releases/tag/v7.11.0,Firebase 模拟器现在支持附加调试器--inspect-functions选项。这允许您使用 WebStorm 调试本地运行的 firebase 函数,同时使用其余的(大大改进的)模拟器工具。

首先确保你有必要的firebase-tools:

$ npm install firebase-tools@latest

现在,您可以从项目目录启动 Firebase 模拟器中的函数:

$ firebase emulators:start --inspect-functions

输出将显示如下内容:

$ firebase emulators:start --inspect-functions
i  emulators: Starting emulators: functions, hosting
⚠  functions: You are running the functions emulator in debug mode (port=9229). This means that functions will execute in sequence rather than in parallel.
✔  functions: Using node@10 from host.

请注意上面输出中的“port=9229”。这是我们要告诉 WebStorm 连接的端口。

在 WebStorm 中打开您的项目,然后:

  1. select 运行|编辑配置...
  2. 在“运行/调试配置”窗口中,单击“+”按钮并选择“附加到 Nodejs/chrome”选项。
  1. 选择您的新配置,并将其配置为连接到上面输出中显示的端口(在我的例子中为 9229):
  1. Click Apply and OK。您的配置已保存。

从 WebStorm 主菜单中,您现在可以选择运行|调试...并选择您的新配置。 WebStorm 将附加到托管您的函数的进程,您可以使用调试功能(断点等),就像 WebStorm 中的正常调试会话一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在WebStorm中调试firebase云功能? 的相关文章

随机推荐

  • 通过 USB 模拟 UART

    有谁知道是否可以通过 USB 模拟 UART 简单串行发送和接收 这将如何实现 我在 Microchip 网站上找到了这个链接 但不是很容易找到 http www microchip com forums m522571 print asp
  • PassportJS 自定义身份验证回调未调用

    更新 以下错误已修复a commit https github com jaredhanson passport issues 186 我已将第一个答案标记为 正确 尽管该提交在其中一条评论中引起了我的注意 我希望利用自定义回调来处理 Pa
  • 使用 .htaccess 删除 .php 扩展名

    是的 我已经阅读了 Apache 手册并在这里进行了搜索 由于某种原因 我根本无法让它发挥作用 我最接近的是让它删除扩展名 但它指向根目录 我希望它只在包含以下内容的目录中工作 htaccess file 我需要做三件事 htaccess
  • javax.net.ssl.SSLHandshakeException:在 bigquery 中插入行时,远程主机在握手期间关闭了连接

    您好 我正在开发 Android 应用程序 其中集成了 bigquery 我发现有时我们在将数据插入大型查询表时会遇到很多 SSL 异常 我不知道该如何处理这件事 请帮忙看看这个问题的具体原因是什么 这是相同的主题 但没有答案进行流式插入
  • 如何简洁地创建一个以字母为键的字典?

    我创建了一个包含 26 个字母的字典 如下所示 aDict a 1 b 2 c 3 d 4 etc 我正在努力让我的代码变得更好 我的问题是 有没有更短的方法可以做到这一点而无需输入所有这些数字 您可以使用string ascii lowe
  • AngularJS 和 Angular-UI Bootstrap 选项卡范围

    我正在使用 AngularJS 和 Angular UI Bootstrap 选项卡 这是我的控制器 app controller SettingsCtrl scope SettingsFactory stateParams functio
  • 在 pandas 的数据框中创建一个组

    我有一个清单 例如 groups Group1 A B Group2 C D 和一个数据框 例如 A 100 B 200 C 300 D 400 我想将上面列表中的一组总和变为 Group 1 300 Group 2 700 我如何使用 p
  • 列表视图项目点击不起作用

    我的 ListView 中有一个 ListView 显示 ImageButton 我将 focusalble false 和 focusableInTouchMode false 设置为 ImageButton 我设置了ListView O
  • 使用 urllib3 进行多部分表单编码和发布

    我正在尝试上传csv文件至 不过 我遇到了一些问题 我think它源于不正确的mimetype 或许 我正在尝试通过以下方式手动发布文件urllib2 所以我的代码如下所示 import urllib import urllib2 impo
  • Android相机使用双指触摸预览缩放

    我正在尝试在相机预览模式下使用双指触摸手势进行缩放 但我无法做到这一点 我已经在 ImageView 上完成了 Zoom 控制 并且工作正常 现在我想在相机预览模式下执行此操作 即当我们启动相机时 我们可以使用双指手势进行缩放 下面我添加了
  • 如何清除SQL Server扩展事件事件文件

    如何清除SQL Server扩展事件存储在文件中 背景 SQL Server 扩展事件事件文件目标的文件存储在哪里 我想删除几个月的日志文件 但 SQL Server 没有告诉我这些文件在哪里 我会遵循 Microsoft SQL Serv
  • 我如何告诉 Sinatra 它是什么环境(开发、测试、生产)?

    免责声明 在 Heroku 上部署 Sinatra 的新手 我见过http www sinatrarb com configuration html http www sinatrarb com configuration html它告诉我
  • 将 WTForms 的 populate_obj( ) 方法与 Flask 微框架结合使用

    我有一个允许用户编辑其用户信息的模板
  • 在 iPhone SDK 中检测视网膜屏幕/iPhone 4

    在我的应用程序中 我从网络 准确地说是从我的服务器 下载一些图像 为了节省一些带宽 特别是手机上的内存 我以两种分辨率提供它们 旧 iPhone系列的480x320和对于配备视网膜显示屏的 iPhone 4 分辨率为 960x640 现在
  • 在 F# Foq 中模拟非标准事件

    我是 F 新手 我正在通过一些练习来学习这门语言 我目前正在尝试做的是为自定义 Castle Windsor 设施编写单元测试 并且我正在尝试模拟内核以引发 ComponentRegistered 事件 我使用的工具是 FsUnit xUn
  • 多个节点-mongodb-本机连接

    当我运行此 Node js 代码时 var mongodb require mongodb MongoClient mongodb MongoClient MongoClient connect mongodb localhost 2701
  • Laravel 5.4 - Cookie 队列

    我正在使用 Laravel 5 4 我写了类似的内容 Cookie queue refresh token data gt refresh token 864000 10 days null null false true HttpOnly
  • 如何获取android设备上向MIC吹气时的振幅

    如何获取android设备中向MIC吹气时的振幅 MediaRecorder recorder new MediaRecorder recorder setAudioSource MediaRecorder AudioSource MIC
  • 如何检查您的内核是否支持硬件上的 GPIO?

    我的目标是控制 Intel 主板 带 C1037U 处理器的 NM70 芯片组 上 Peppermint 4 Linux 内核版本 3 8 0 中的 GPIO 引脚 如何检查您的内核是否支持硬件上的 GPIO 背景 主板 Intel NM7
  • 如何在WebStorm中调试firebase云功能?

    我已经启动了一个 Firebase 云函数项目 想知道如何在 WebStorm IDE 中运行调试 我读到我可以使用 google cloud functions emulator 存档我的目标 因此我安装了它并遵循了这个文档 https